{"version":3,"sources":["webpack:///./src/helper/connector.js","webpack:///./src/main.js","webpack:///./src/helper/walletconnect.js","webpack:///./src/env.js","webpack:///./src/helper/metamask.js"],"names":["Connector","constructor","_defineProperty","cachedProvider","window","localStorage","getItem","SAVED_CONNECTOR_KEY","async","console","log","store","commit","chain","SAVED_CHAIN_ID","this","CONNECTORS","METAMASK","provider","ethereum","WALLET_CONNECT","CHAIN_ID","EthereumProvider","init","projectId","chains","rpcMap","CHAIN_INFO","rpcUrl","qrModalOptions","themeVariables","optionalMethods","showQrModal","connected","resetState","accounts","request","method","length","account","chainId","Number","setItem","RPC_URL_KEY","subscriber","err","id","connectMetamask","connectWalletConnect","updateConnectorState","data","web3Provider","updateConnectorChainId","on","networkId","parsedNetworkId","SUPPORTED_CHAIN_IDS","includes","error","close","disconnect","removeAllListeners","removeItem","CoreUtil","removeWalletConnectDeepLink","ConnecterPlugin","install","Vue","prototype","$connector","i","config","productionTip","use","VModal","VueClipboard","Notifications","VueNumber","AntDesignVue","Vue2Editor","VueSanitize","SANITIZE_CONFIG","vueAwesomeCountdown","VueMeta","refreshOnceOnNavigation","component","VueSkeletonLoader","ValidationProvider","ValidationObserver","VueQRCodeComponent","extend","validate","value","Web3","utils","isAddress","split","every","item","isPositive","number","parseFloat","valid","compare","test","map","val","match","res","configure","defaultMessage","field","values","_field_","i18n","t","indexOf","replace","_rule_","router","render","h","App","$mount","Promise","resolve","reject","chainInfo","once","info","connect","APP_NAME","process","VUE_APP_NAME","name","APP_VERSION","VUE_APP_VERSION","version","BASE_URL","API_VERSION_1_PREFIX","_process$env$VUE_APP_","el","FASTEST_INTERVAL","VUE_APP_FAST_INTERVAL","FAST_INTERVAL","SLOW_INTERVAL","VUE_APP_SLOW_INTERVAL","LOCALE","VUE_APP_I18N_LOCALE","FALLBACK_LOCALE","VUE_APP_I18N_FALLBACK_LOCALE","SYSTEM_DECIMALS","BigNumber","VUE_APP_BLOCKS_PER_YEAR","ZERO_ADDRESS","JSON_SAMPLE_URL","VUE_APP_CREATE_NFT_SITE","VUE_APP_SEND_NFT_SITE","WHITELIST_SAMPLE_URL","AFFILIATE_SAMPLE_URL","SITE_URL","EXTERNAL_JSON_SAMPLE_URL","FINCODE_PUBLIC_KEY","FINCODE_LIVE_MODE","toHex","chainIdDec","toString","addEthereumChain","explorer","nativeCurrency","debug","params","chainName","rpcUrls","blockExplorerUrls","connectToCorrectChainMetamask","codes","code","some","_error$message","message","Error","address"],"mappings":"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","file":"js/app~63defed8.7b2ed076.js","sourcesContent":["import { SAVED_CONNECTOR_KEY, RPC_URL_KEY, SAVED_CHAIN_ID } from '@/constants/common.constant.js';\nimport { CHAIN_INFO } from '@/constants/chains.constant';\nimport { CONNECTORS } from '@/constants/types.constant';\nimport { SUPPORTED_CHAIN_IDS } from '@/env';\nimport { CoreUtil } from '@walletconnect/modal-core';\n\nimport { connectMetamask } from './metamask';\nimport { connectWalletConnect } from './walletconnect';\nimport { EthereumProvider } from '@walletconnect/ethereum-provider';\nimport store from '@/store';\nimport { CHAIN_ID } from '../env';\nclass Connector {\n provider = null;\n account = null;\n chainId = null;\n\n get cachedProvider() {\n return window.localStorage.getItem(SAVED_CONNECTOR_KEY);\n }\n\n async initOnRefresh() {\n console.log('in init on refresh');\n try {\n store.commit('setting/CHANGE_GLOBAL_LOADING', true);\n let chain = localStorage.getItem(SAVED_CHAIN_ID);\n switch (this.cachedProvider) {\n case CONNECTORS.METAMASK:\n console.log('in metamask');\n this.provider = window.ethereum;\n break;\n case CONNECTORS.WALLET_CONNECT:\n console.log('in wallet connect');\n if (!chain) {\n chain = CHAIN_ID;\n }\n // eslint-disable-next-line no-case-declarations\n const provider = await EthereumProvider.init({\n projectId: 'c5caae9672cb569e85d2f489c9cf088e',\n chains: [chain],\n rpcMap: {\n [chain]: CHAIN_INFO[chain].rpcUrl,\n },\n qrModalOptions: {\n themeVariables: {\n '--wcm-z-index': 9999999999999,\n },\n },\n optionalMethods: ['eth_signTypedData_v4'],\n showQrModal: true,\n });\n if (provider.connected) {\n console.log('is connected');\n this.provider = provider;\n }\n break;\n default:\n break;\n }\n if (!this.provider) {\n await this.resetState();\n return;\n }\n const accounts = await this.provider.request({ method: 'eth_requestAccounts' });\n if (accounts?.length) {\n this.account = accounts[0];\n }\n this.chainId = Number(await this.provider.request({ method: 'eth_chainId' }));\n window.localStorage.setItem(SAVED_CHAIN_ID, this.chainId);\n window.localStorage.setItem(RPC_URL_KEY, CHAIN_INFO[this.chainId].rpcUrl);\n store.commit('setting/CHANGE_GLOBAL_LOADING', false);\n\n this.subscriber();\n } catch (err) {\n this.resetState();\n store.commit('setting/CHANGE_GLOBAL_LOADING', false);\n throw err;\n }\n }\n\n async connectToAWallet(chain, id) {\n if (id === CONNECTORS.METAMASK) return connectMetamask(chain);\n return connectWalletConnect(chain);\n }\n\n updateConnectorState(data) {\n const { account, chainId, provider, id } = data;\n this.provider = provider;\n window.web3Provider = provider;\n this.chainId = chainId;\n this.account = account;\n window.localStorage.setItem(SAVED_CONNECTOR_KEY, id);\n window.localStorage.setItem(SAVED_CHAIN_ID, chainId);\n\n window.localStorage.setItem(RPC_URL_KEY, CHAIN_INFO[chainId].rpcUrl);\n\n this.subscriber();\n }\n updateConnectorChainId(chainId) {\n this.chainId = chainId;\n }\n subscriber() {\n this.provider.on('accountsChanged', (accounts) => {\n if (accounts && accounts.length !== 0) {\n if (this.account === accounts[0]) return;\n return (this.account = accounts[0]);\n }\n this.resetState();\n });\n this.provider.on('chainChanged', (networkId) => {\n const parsedNetworkId = Number(networkId);\n if (parsedNetworkId === Number(this.chainId)) return;\n this.chainId = parsedNetworkId;\n\n if (SUPPORTED_CHAIN_IDS.includes(parsedNetworkId)) {\n if (CHAIN_INFO[parsedNetworkId]) {\n window.localStorage.setItem(RPC_URL_KEY, CHAIN_INFO[parsedNetworkId].rpcUrl);\n }\n }\n window.localStorage.setItem(SAVED_CHAIN_ID, parsedNetworkId);\n });\n\n this.provider.on('disconnect', (error) => {\n if (this.cachedProvider === 'metamask') return;\n console.error(error);\n this.resetState();\n });\n\n this.provider.on('session_delete', (error) => {\n if (this.cachedProvider === 'metamask') return;\n console.error(error);\n this.resetState();\n });\n }\n\n async resetState() {\n try {\n store.commit('setting/CHANGE_GLOBAL_LOADING', true);\n if (this.provider) {\n if (this.provider.close) {\n await this.provider.close();\n }\n if (this.provider.disconnect) {\n await this.provider.disconnect();\n }\n if (this.provider.removeAllListeners) {\n this.provider.removeAllListeners();\n }\n }\n window.localStorage.removeItem(SAVED_CONNECTOR_KEY);\n window.localStorage.removeItem('walletconnect');\n this.account = null;\n\n this.chainId = null;\n\n this.provider = null;\n store.commit('wallet/RESET_WALLET_STATE');\n CoreUtil.removeWalletConnectDeepLink();\n } catch (err) {\n console.err(err);\n } finally {\n store.commit('setting/CHANGE_GLOBAL_LOADING', false);\n }\n }\n}\n\nconst ConnecterPlugin = {\n install(Vue) {\n Vue.prototype.$connector = new Connector();\n },\n};\n\nexport default ConnecterPlugin;\n","import Vue from 'vue';\nimport App from './app.vue';\nimport router from './router';\nimport store from './store';\nimport VModal from 'vue-js-modal';\nimport VueClipboard from 'vue-clipboard2';\nimport Notifications from 'vue-notification';\nimport VueNumber from 'vue-number-animation';\nimport VueSkeletonLoader from 'skeleton-loader-vue';\nimport i18n from '@/plugins/vue-i18n.plugin';\nimport AntDesignVue from 'ant-design-vue';\nimport ConnecterPlugin from '@/helper/connector.js';\nimport vueAwesomeCountdown from 'vue-awesome-countdown';\nimport { ValidationObserver, ValidationProvider } from 'vee-validate';\nimport Web3 from 'web3';\nimport { extend, configure } from 'vee-validate';\nimport { compare } from '@/utils/bignumber.util';\nimport VueMeta from 'vue-meta';\nimport Vue2Editor from 'vue2-editor';\nimport VueSanitize from 'vue-sanitize';\nimport 'ant-design-vue/dist/antd.css';\nimport VueQRCodeComponent from 'vue-qrcode-component';\nVue.config.productionTip = false;\n\nimport '@/assets/styles/index.style.scss';\n\n//Vue-filter START\nimport '@/plugins/vue-filter-currency.plugin';\nimport '@/plugins/vue-filter-truncate.plugin';\nimport '@/plugins/cleavejs.plugin';\nimport '@/plugins/vue-filter-jpn-time.plugin';\nimport '@/plugins/vee-validate.plugin';\nimport '@/plugins/vue-video-player.plugin';\nimport { SANITIZE_CONFIG } from './constants/types.constant';\n\nVue.use(VModal);\nVue.use(VueClipboard);\nVue.use(Notifications);\nVue.use(VueNumber);\nVue.use(AntDesignVue);\nVue.use(ConnecterPlugin);\nVue.use(Vue2Editor);\nVue.use(VueSanitize, SANITIZE_CONFIG);\n\nVue.use(vueAwesomeCountdown, 'vac');\nVue.use(VueMeta, {\n refreshOnceOnNavigation: true,\n});\n\nVue.component('skeleton-loader', VueSkeletonLoader);\nVue.component('ValidationProvider', ValidationProvider);\nVue.component('ValidationObserver', ValidationObserver);\nVue.component('qr-code', VueQRCodeComponent);\n\nextend('checkTokenAddress', {\n // eslint-disable-next-line no-undef\n validate: (value) => Web3.utils.isAddress(value),\n});\n\nextend('checkTokenAddresses', {\n // eslint-disable-next-line no-undef\n validate: (value) => {\n return (value?.split(/\\n/) || []).every((item) => Web3.utils.isAddress(item));\n },\n});\n\nextend('positiveNumber', {\n validate: (value, isPositive) => {\n const number = parseFloat(value);\n return { valid: isPositive && number > 0 };\n },\n});\n\nextend('lowerThan100', {\n validate: (value) => {\n return compare('lt')(value)(100);\n },\n});\n\nextend('numbersStr', {\n validate: (value) => {\n const isValid = /^\\d+(?:,\\d+)*$/.test(value);\n if (!isValid) return false;\n let map = {};\n for (let val of value.split(',')) {\n if (map[Number(val)]) return false;\n map[Number(val)] = true;\n }\n return true;\n },\n});\n\nextend('url', {\n validate(value) {\n try {\n if (!value) {\n return true;\n }\n var res = value.match(\n /(http(s)?:\\/\\/.)?(www\\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_+.~#?&//=]*)/g\n );\n return res !== null;\n } catch (error) {\n return false;\n }\n },\n});\n\nconfigure({\n defaultMessage: (field, values) => {\n values._field_ = i18n.t(`fields.${field}`);\n if (values._field_.indexOf(`fields.`) !== -1) {\n values._field_ = values._field_.replace('fields.', '');\n }\n return i18n.t(`messages.${values._rule_}`, values);\n },\n});\n\nnew Vue({\n store,\n i18n,\n router,\n render: (h) => h(App),\n}).$mount('#app');\n","import { EthereumProvider } from '@walletconnect/ethereum-provider';\nimport { CHAIN_INFO } from '@/constants/chains.constant';\nimport { CHAIN_ID } from '../env';\nexport const connectWalletConnect = async (chain) => {\n // const supportedChainIds = await provider.request({ method: 'wallet_getConfig' });\n // console.log('support ids', supportedChainIds);\n // ensure that the uri is going to be available, and emit an event if there's a new uri\n // eslint-disable-next-line\n return new Promise(async (resolve, reject) => {\n // connection refused in wallet\n try {\n if (!chain) {\n chain = CHAIN_ID;\n }\n console.log('chain', chain);\n const chainInfo = CHAIN_INFO[chain];\n console.log('chainInfo', chainInfo);\n const provider = await EthereumProvider.init({\n projectId: 'a528190b9fdf7b0bb9c7e018b99569b0',\n chains: [chain],\n rpcMap: {\n [chain]: CHAIN_INFO[chain].rpcUrl,\n },\n optionalMethods: ['eth_signTypedData_v4'],\n qrModalOptions: {\n themeVariables: {\n '--wcm-z-index': 9999999999999,\n },\n },\n showQrModal: true,\n });\n try {\n await provider.disconnect();\n } catch (err) {\n console.log('error in disconnect', err);\n // silient\n }\n console.log('provider', provider);\n provider.once('connect', async (info) => {\n console.log('_chainId', info);\n const chainId = Number(info.chainId);\n const accounts = await provider.request({ method: 'eth_requestAccounts' });\n console.log('accounts', accounts);\n resolve({\n provider,\n chainId,\n account: accounts[0],\n id: 'wallet_connect',\n });\n });\n // if (provider.connected) {\n // await provider.disconnect();\n // }\n await provider.connect();\n } catch (error) {\n reject(error);\n }\n });\n};\n","import BigNumber from 'bignumber.js';\nimport { version, name } from '../package.json';\n\nexport const APP_NAME = process.env.VUE_APP_NAME || name;\nexport const APP_VERSION = process.env.VUE_APP_VERSION || version;\nexport const BASE_URL = process.env.VUE_APP_API_BASE_URL;\nexport const API_VERSION_1_PREFIX = '/api/v1';\nexport const CHAIN_ID = Number(process.env.VUE_APP_DEFAULT_CHAIN_ID);\nexport const SUPPORTED_CHAIN_IDS = process.env.VUE_APP_SUPPORTED_CHAIN_IDS?.replace(' ', '')\n .split(',')\n .map((el) => Number(el));\n//CONTRACTs\n\n//OTHER\nexport const FASTEST_INTERVAL = process.env.VUE_APP_FAST_INTERVAL || 15000;\nexport const FAST_INTERVAL = process.env.VUE_APP_FAST_INTERVAL || 10000;\nexport const SLOW_INTERVAL = process.env.VUE_APP_SLOW_INTERVAL || 60000;\nexport const LOCALE = process.env.VUE_APP_I18N_LOCALE || 'en';\nexport const FALLBACK_LOCALE = process.env.VUE_APP_I18N_FALLBACK_LOCALE || 'en';\nexport const BLOCKS_PER_YEAR = new BigNumber(process.env.VUE_APP_BLOCKS_PER_YEAR || 6220800);\nexport const SYSTEM_DECIMALS = 6;\n\nexport const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000';\nexport const CREATE_NFT_SITE = process.env.VUE_APP_CREATE_NFT_SITE;\nexport const SEND_NFT_SITE = process.env.VUE_APP_SEND_NFT_SITE;\nexport const JSON_SAMPLE_URL = process.env.VUE_APP_JSON_SAMPLE_URL;\nexport const WHITELIST_SAMPLE_URL = process.env.VUE_APP_WHITELIST_SAMPLE_URL;\nexport const AFFILIATE_SAMPLE_URL = process.env.VUE_APP_AFFILIATE_SAMPLE_URL;\nexport const SITE_URL = process.env.VUE_APP_SITE_URL;\nexport const EXTERNAL_JSON_SAMPLE_URL = process.env.VUE_APP_EXTERNAL_JSON_SAMPLE;\nexport const FINCODE_PUBLIC_KEY = process.env.VUE_APP_FINCODE_PUBLIC_KEY;\nexport const FINCODE_LIVE_MODE = process.env.VUE_APP_FINCODE_LIVE_MODE === 'false' ? false : true;\n","import { CHAIN_INFO } from '@/constants/chains.constant';\n\nconst toHex = (chainIdDec) => `0x${chainIdDec?.toString(16)}`;\n\nconst addEthereumChain = async ({ explorer, name, nativeCurrency, rpcUrl, chain }) => {\n console.debug({\n explorer,\n name,\n nativeCurrency,\n rpcUrl,\n chain,\n });\n await window.ethereum.request({\n method: 'wallet_addEthereumChain',\n params: [\n {\n chainId: toHex(chain),\n chainName: name,\n nativeCurrency: {\n ...nativeCurrency,\n },\n rpcUrls: [rpcUrl],\n blockExplorerUrls: [explorer],\n },\n ],\n });\n};\n\nconst connectToCorrectChainMetamask = async ({ explorer, name, nativeCurrency, rpcUrl, chain }) => {\n try {\n await window.ethereum.request({\n method: 'wallet_switchEthereumChain',\n params: [{ chainId: toHex(chain) }],\n });\n } catch (error) {\n console.debug({ error });\n // eslint-disable-next-line\n let codes = [4902, -32603];\n if (codes.includes(error?.code) || codes.some((code) => error?.message?.includes(code))) {\n // Error switch chain\n await addEthereumChain({ explorer, name, nativeCurrency, rpcUrl, chain });\n } else if (error.code === -32002) {\n // do nothing\n } else {\n throw error;\n }\n }\n};\n\nexport const connectMetamask = async (chain) => {\n const chainInfo = CHAIN_INFO[chain];\n if (!window.ethereum) {\n throw new Error('Please install Metamask!');\n }\n const provider = window.ethereum;\n const chainId = Number(await provider.request({ method: 'eth_chainId' }));\n if (chainId !== chain) {\n await connectToCorrectChainMetamask({ ...chainInfo, chain });\n }\n const [address] = await window.ethereum //\n .request({ method: 'eth_requestAccounts' });\n\n return {\n account: address,\n provider,\n chainId: chain,\n id: 'metamask',\n };\n};\n"],"sourceRoot":""}