{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/js/Asset.ts","webpack:///./src/store/modules/address/address.ts","webpack:///./src/store/modules/notifications/notifications.ts","webpack:///./src/services/evmtransactions/evmtransactions.service.ts","webpack:///./src/store/modules/transactions/helpers/parseTxs.ts","webpack:///./src/services/evmblocks/evmblocks.service.ts","webpack:///./src/store/modules/blocks/helpers/parseEVMLogs.ts","webpack:///./src/store/modules/transactions/helpers/parseEVMTraces.ts","webpack:///./src/store/modules/transactions/helpers/parseEVMTxs.ts","webpack:///./src/store/modules/transactions/transactions.ts","webpack:///./src/store/modules/blocks/helpers/parseEVMBlocks.ts","webpack:///./src/store/modules/blocks/blocks.ts","webpack:///./src/known_prices.ts","webpack:///./src/services/abi/abi.service.ts","webpack:///./src/store/index.ts","webpack:///./src/components/NetworkSettings/ListPage.vue?d5b0","webpack:///./src/store/modules/platform/platform.getters.ts","webpack:///./src/services/aggregates/index.ts","webpack:///./src/components/misc/TestnetAlert.vue?5303","webpack:///./src/assets/explorer_logo_black.png","webpack:///./src/known_subnets.ts","webpack:///./src/known_vms.ts","webpack:///./src/quotes.ts","webpack:///./src/helper.ts","webpack:///./src/components/NavBarMobile.vue?300c","webpack:///./src/components/Notifications.vue?1bb8","webpack:///./src/js/Subnet.ts","webpack:///./src/js/Blockchain.ts","webpack:///./src/services/addressCounts/addressCounts.service.ts","webpack:///./src/store/modules/platform/helpers/calculateStakingReward.ts","webpack:///./src/services/transactionCounts/transactionCounts.service.ts","webpack:///./src/services/burned/burned.service.ts","webpack:///./src/store/modules/platform/platform.ts","webpack:///./src/assets/network_on_primary.png","webpack:///./src/components/NavBar.vue?f19f","webpack:///./src/assets/network_off_primary.png","webpack:///./src/assets sync ^\\.\\/explorer_logo_.*\\.png$","webpack:///./src/services/price/index.ts","webpack:///./src/known_blockchains.ts","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/assets sync ^\\.\\/network_on_.*\\.png$","webpack:///./src/services/assets/models.ts","webpack:///./src/services/assets/assets.service.ts","webpack:///./src/services/assets/asset.ts","webpack:///./src/assets sync ^\\.\\/network_off_.*\\.png$","webpack:///./src/store/modules/platform/platform.mixins.ts","webpack:///./src/assets/network_on_white.png","webpack:///./src/components/misc/SearchBar/AddressResult.vue?c3ef","webpack:///./src/js/Network.ts","webpack:///./src/store/modules/network/network.ts","webpack:///./src/views/Home.vue?8d66","webpack:///./src/App.vue?5842","webpack:///./src/components/misc/SearchBar/SearchBarMobile.vue?a739","webpack:///./src/price.ts","webpack:///./src/services/price/price.service.ts","webpack:///./src/store/modules/transactions/models.ts","webpack:///./src/store/modules/transactions/maps.ts","webpack:///./src/components/Footer.vue?dbdb","webpack:///./src/components/Home/RecentTransactions.vue?a5d0","webpack:///./src/assets/network_off_white.png","webpack:///./src/components/misc/SearchBar/SearchResult.vue?9630","webpack:///./src/services/transactions/transactions.service.ts","webpack:///./src/components/misc/SearchBar/SearchBar.vue?166c","webpack:///./src/components/misc/SearchBar/TransactionResult.vue?c44f","webpack:///./src/components/misc/SearchBar/TransactionResult.vue","webpack:///./src/components/misc/SearchBar/TransactionResult.vue?9742","webpack:///./src/components/misc/SearchBar/TransactionResult.vue?3c71","webpack:///./src/components/rows/TxRow/TxTableHead.vue?fe43","webpack:///./src/components/rows/TxRow/TxTableHead.vue","webpack:///./src/components/rows/TxRow/TxTableHead.vue?dfda","webpack:///./src/components/rows/TxRow/TxTableHead.vue?f7c7","webpack:///./src/components/rows/TxRow/AddressLink.vue?c878","webpack:///./src/components/NetworkSettings/NetworkRow.vue?0246","webpack:///./src/App.vue?b7d0","webpack:///./src/components/rows/Tooltip.vue?06f6","webpack:///./src/components/rows/Tooltip.vue","webpack:///./src/components/rows/Tooltip.vue?514e","webpack:///./src/components/rows/Tooltip.vue?bcb5","webpack:///./src/components/rows/TxRow/TxRow.vue?d64a","webpack:///./src/components/rows/TxRow/InputUtxo.vue?2ef9","webpack:///./src/components/rows/TxRow/AddressLink.vue?8b05","webpack:///./src/components/rows/TxRow/AddressLink.vue","webpack:///./src/components/rows/TxRow/AddressLink.vue?b95a","webpack:///./src/components/rows/TxRow/AddressLink.vue?25d9","webpack:///./src/components/rows/TxRow/InputUtxo.vue","webpack:///./src/components/rows/TxRow/InputUtxo.vue?7514","webpack:///./src/components/rows/TxRow/InputUtxo.vue?8a39","webpack:///./src/components/rows/TxRow/OutputUtxo.vue?4b6e","webpack:///./src/components/rows/TxRow/OutputUtxo.vue","webpack:///./src/components/rows/TxRow/OutputUtxo.vue?eb9a","webpack:///./src/components/rows/TxRow/OutputUtxo.vue?817f","webpack:///./src/components/rows/TxRow/TxRow.vue","webpack:///./src/components/rows/TxRow/TxRow.vue?0fa8","webpack:///./src/components/rows/TxRow/TxRow.vue?b978","webpack:///./src/components/misc/SearchBar/AssetResult.vue?4d74","webpack:///./src/components/misc/SearchBar/AssetResult.vue","webpack:///./src/components/misc/SearchBar/AssetResult.vue?a4f0","webpack:///./src/components/misc/SearchBar/AssetResult.vue?76ea","webpack:///./src/services/helpers.ts","webpack:///./src/known_addresses.ts","webpack:///./src/known_assets.ts","webpack:///./src/App.vue?8aa3","webpack:///./src/components/NavBar.vue?e0ba","webpack:///./src/components/misc/SearchBar/SearchBar.vue?1409","webpack:///./src/components/misc/SearchBar/SearchResult.vue?7bca","webpack:///src/components/misc/SearchBar/SearchResult.vue","webpack:///./src/components/misc/SearchBar/SearchResult.vue?8b45","webpack:///./src/components/misc/SearchBar/SearchResult.vue","webpack:///src/components/misc/SearchBar/SearchBar.vue","webpack:///./src/components/misc/SearchBar/SearchBar.vue?f396","webpack:///./src/components/misc/SearchBar/SearchBar.vue","webpack:///./src/components/NetworkSettings/NetworkMenu.vue?de37","webpack:///./src/components/NetworkSettings/ListPage.vue?3e30","webpack:///./src/components/NetworkSettings/NetworkRow.vue?49a1","webpack:///./src/components/NetworkSettings/NetworkRow.vue","webpack:///./src/components/NetworkSettings/NetworkRow.vue?2562","webpack:///./src/components/NetworkSettings/NetworkRow.vue?475e","webpack:///./src/components/NetworkSettings/ListPage.vue","webpack:///./src/components/NetworkSettings/ListPage.vue?b4a9","webpack:///./src/components/NetworkSettings/ListPage.vue?e928","webpack:///./src/components/NetworkSettings/NetworkMenu.vue","webpack:///./src/components/NetworkSettings/NetworkMenu.vue?fe92","webpack:///./src/components/NetworkSettings/NetworkMenu.vue?8f88","webpack:///src/components/NavBar.vue","webpack:///./src/components/NavBar.vue?dda7","webpack:///./src/components/NavBar.vue","webpack:///./src/components/NavBarMobile.vue?95a7","webpack:///./src/components/misc/SearchBar/SearchBarMobile.vue?9e81","webpack:///src/components/misc/SearchBar/SearchBarMobile.vue","webpack:///./src/components/misc/SearchBar/SearchBarMobile.vue?10dd","webpack:///./src/components/misc/SearchBar/SearchBarMobile.vue","webpack:///./src/components/NavBarMobile.vue","webpack:///./src/components/NavBarMobile.vue?c400","webpack:///./src/components/NavBarMobile.vue?888a","webpack:///./src/components/misc/TestnetAlert.vue?4ada","webpack:///./src/components/misc/TestnetAlert.vue","webpack:///./src/components/misc/TestnetAlert.vue?3ca3","webpack:///./src/components/misc/TestnetAlert.vue?0149","webpack:///./src/components/Footer.vue?b872","webpack:///./src/components/Footer.vue","webpack:///./src/components/Footer.vue?ddcb","webpack:///./src/components/Footer.vue?e53b","webpack:///./src/components/Notifications.vue?9ad6","webpack:///src/components/Notifications.vue","webpack:///./src/components/Notifications.vue?9aed","webpack:///./src/components/Notifications.vue","webpack:///./src/App.vue","webpack:///./src/App.vue?31c5","webpack:///./src/App.vue?68bd","webpack:///./src/views/Home.vue?8430","webpack:///./src/components/Home/RecentTransactions.vue?452a","webpack:///./src/components/Transaction/RecentTxHeader.vue?7156","webpack:///./src/components/Transaction/RecentTxHeader.vue","webpack:///./src/components/Transaction/RecentTxHeader.vue?1a16","webpack:///./src/components/Transaction/RecentTxHeader.vue?cf47","webpack:///./src/components/Home/RecentTransactions.vue","webpack:///./src/components/Home/RecentTransactions.vue?9dda","webpack:///./src/components/Home/RecentTransactions.vue?00c1","webpack:///./src/views/Home.vue","webpack:///./src/views/Home.vue?2352","webpack:///./src/views/Home.vue?b4c0","webpack:///./src/router/index.ts","webpack:///./src/plugins/vuetify.ts","webpack:///./src/filters/index.ts","webpack:///./src/main.ts","webpack:///./src/components/Transaction/RecentTxHeader.vue?6205","webpack:///./src/avalanche_go_api.ts","webpack:///./src/components/NavBar.vue?cd7a","webpack:///./src/components/rows/Tooltip.vue?1c99","webpack:///./src/avalanche.ts","webpack:///./src/services/aggregates/aggregates.service.ts","webpack:///./src/components/misc/SearchBar/AddressResult.vue?c4d5","webpack:///./src/components/misc/SearchBar/AddressResult.vue","webpack:///./src/components/misc/SearchBar/AddressResult.vue?9a95","webpack:///./src/components/misc/SearchBar/AddressResult.vue?5f2e","webpack:///./src/expletives.ts","webpack:///./src/js/Profanities.ts","webpack:///./src/assets/tooltip.svg","webpack:///./src/js/Transaction.ts","webpack:///./src/axios.ts","webpack:///./src/components/NetworkSettings/NetworkMenu.vue?4351","webpack:///./src/components/misc/SearchBar/TransactionResult.vue?311e","webpack:///./src/assets/explorer_logo_white.png","webpack:///./src/components/misc/SearchBar/AssetResult.vue?bf13"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","assetData","isUnknown","this","id","alias","chainID","currentSupply","div","Math","pow","denomination","symbol","timestamp","variableCap","nft","aggregates","volume_day","txCount_day","addressCount_day","outputCount_day","isHistoryUpdated","profane","checkForProfanities","assetAggregate","transactionVolume","transactionCount","addressCount","outputCount","commit","screen","address_module","namespaced","state","addresses","addressesList","addressesLoaded","mutations","addAddress","address","set","finishLoading","actions","init","dispatch","getAddresses","res","forEach","addressData","getters","COLOR_SUCCESS","COLOR_WARNING","COLOR_ERROR","notif_id","notifications_module","items","add","store","duration","color","item","title","notifications","EVM_TRANSACTIONS_API_BASE_URL","getEVMTransaction","params","paramsSerializer","stringify","arrayFormat","parseTxs","txRes","transactions","map","tx","Transaction","EVM_BLOCKS_API_BASE_URL","height","parseLogs","logs","dressTrace","trace","txInput","children","traceAddress","toString","callType","input","output","parseEVMTraces","traces","graph","grapher","root","currentValue","beforeLast","ancestor","depth","parent","traceGraph","reduce","getLogs","block","transaction","filter","transactionHash","hash","parseEVMTxs","tracesGraph","gasPrice","parseInt","transfers","defaultState","startTime","endTime","next","recentTxRes","assetTxRes","addressTxRes","blockchainTxRes","evmTx","transactions_module","addTx","addTxs","addRecentTxs","addAssetTxs","addAddressTxs","addBlockchainTxs","addEVMTx","getTx","payload","getTxs","getRecentTxs","getTxsByAddress","getTxsByAsset","getTxsByBlockchain","getNFTPayloads","NFTMintUTXO","outputs","find","utxo","outputType","redeemingTransactionID","txResNFT","payloads","groupID","index","self","indexOf","getEVMTx","Transactions","blockRes","parsedTx","parseEVMBlockTxs","txs","parsedTxs","v","nonce","utils","hexToNumberString","hexToAscii","gas","to","parseAtomicTxs","blockExtraData","serialization","getInstance","buf","from","update","digest","buffer","bufferToType","parseEVMBlocks","header","number","parentHash","stateRoot","extDataHash","receiptsRoot","gasLimit","gasUsed","parsedBlock","transactionsRoot","atomicTransactionsRoot","atomicTransactions","evmBlock","blocks_module","addEVMBlock","getEVMBlock","blocks","AVAX_PRICE_ID","VS_CURRENCIES","dict","fetch","headers","response","json","use","Store","Platform","Address","Notifications","Network","Blocks","assets","assetsLoaded","assetAggregatesLoaded","known_addresses","chainId","assetsSubsetForAggregations","collisionMap","pricesLoaded","prices","abisLoaded","abis","abiDecoder","sort","limit","getAssets","assetsData","getAssetAggregates","assetAggregates","agg","asset","getRecentTransactions","addUnknownAsset","assetId","getAssetDescription","desc","newAssetData","getCollisionMap","getPrice","ids","vs_currencies","price","getABI","ERC20","ERC721","ERC20Events","a","addABI","ABIS","erc20","erc721","addAsset","addAssetToSubsetForAggregation","assetID","updateAssetInSubsetForAggregation","updateAssetWithAggregationData","updateAggregates","aggregate","finishAggregatesLoading","addRecentTransactions","addCollisionMap","addPrices","finishPricesLoading","addABIs","finishABIsLoading","addABIDecoder","assetsArray","b","diff","minus","gt","lt","assetsArrayNonProfane","val","assetsArrayProfane","assetsSubsetForAggregationArray","totalTransactions","getTotalValidators","defaultSubnet","subnets","validators","getTotalPendingValidators","pendingValidators","getTotalStake","total","totalStakeAmount","getTotalPendingStake","stakeAmount","getCumulativeStake","getCumulativePendingStake","getTotalBlockchains","keys","subnetID","blockchains","getMarketCapUSD","currentSupplyBN","currentSupplyBig","marketCapUSD","times","toLocaleString","getStakingRatio","totalStake","toNumber","percentStaked","parseFloat","toFixed","fullName","documentation","jvYyfQTxGMJLuGWa55kdP2p2zSUYsQ5Raupu4TW34ZAUBAbtq","mgj786NP7uDwBCcq6YwThhaN8FLyybkCa4zBWTQbNgmK6k9A6","quotes","author","quote","stringToBig","raw","nAvaxToAVAX","nAVAX","denom","bigToDenomBig","subnetMap","blockchainMap","VMMap","VMDocumentationMap","VMFullNameMap","getRandomQuote","floor","random","countDecimals","split","trimmedLocaleString","amount","normalize","denominatedAmt","scientific","decimalPlaces","payloadtypes","pushPayload","rawPayload","concat","fill","typeId","getTypeID","pl","getContent","payloadbase","select","foregroundColor","prefix","charAt","backgroundColor","darkColor","firstChars","lastChars","abbreviateBech32","separatorPos","Array","findIndex","substring","hrp","addressAbbrev","checksum","substr","abbreviateHex","hrpLength","addressFirst","addressLast","getNullAddress","publicKey","AVAX_balance","P_unlocked","P_lockedStakeable","P_lockedNotStakeable","P_staked","P_utxoIDs","XP_unlocked","X_unlocked","X_locked","X_assets","XC_unlocked","controlKeys","threshold","delegators","pendingDelegators","endpoint","req","jsonrpc","method","avalanche_go_api","post","validatorsData","setValidators","sortByStake","AVALANCHE_SUBNET_ID","sortDelegators","pendingValidatorsData","setPendingValidators","pendingDelegatorsData","setPendingDelegators","validator","nodeID","Date","rewardOwner","locktime","potentialReward","uptime","connected","delegationFee","setDelegators","calculateTotalStakeAmount","elapsed","getElapsedStakingPeriod","weight","delegatorsData","delegator","pv","pendingValidator","pd","pendingDelegator","delegatedStakeAmount","rank","currentTime","getTime","numerator","denominator","round","vmID","txCount","burned","indexed","updateIndexed","ADDRESS_COUNTS_V2_API_BASE_URL","getAddressCounts","calculateStakingReward","networkID","avalanche","getNetworkID","defValues","network","P","maxConsumption","minConsumption","maxStakingDuration","maxSupply","diffConsumption","remainingSupply","sub","amtBig","remainingSupplyBig","portionOfExistingSupplyBig","portionOfStakingDuration","mintingRate","rewardBig","rewardStr","rewardBN","TRANSACTION_COUNTS_API_BASE_URL","getTxCounts","BURNED_URL","getBurnedC","cache","credentials","redirect","referrerPolicy","body","JSON","platform_module","subnetsLoaded","minStake","annualStakingRewardPercentage","setCurrentSupply","setSubnet","updateChains","setAnnualStakingRewardPercentage","APR","getSubnets","updateValidators","getBlockchains","pChain","unshift","addBlockchain","log","updateCurrentSupply","getCurrentSupply","updateMinStakeAmount","getMinStake","minValidatorStake","updateAddressCounts","updates","chain","toUpdate","updateAddressCount","updateTxCounts","updateTxCount","updateBurned","updateAnnualStakingRewardPercentage","ONE_YEAR_SECONDS","reward","currentSupplyAVAX","rewardAVAX","webpackContext","webpackContextResolve","DEFAULT_NETWORK_ID","isMainnetNetwork","fullname","txTypes","X","C","txChainTypeMap","Map","getTxChainType","AssetType","ASSETS_V2_API_BASE_URL","CACHE_ASSETS_V2_API_BASE_URL","getAssetInfo","getCacheAssets","getAssetType","NFT","VARIABLE_CAP","FIXED_CAP","PlatformGettersMixin","network_id","url","networkId","explorerUrl","explorerFEUrl","protocol","ip","port","updateURL","includes","urlSplit","DEFAULT_NETWORK_NAME","networkName","orteliusURL","ethereumAPI","peerInfoURL","avalancheJSProtocol","avalancheJSIP","avalancheJSPort","avalancheJSNetworkID","avalancheJSChainID","cChainExplorerURL","statusURL","networkName_test","explorerFEUrl_test","orteliusURL_test","ethereumAPI_test","peerInfoURL_test","avalancheJSProtocol_test","avalancheJSIP_test","avalancheJSPort_test","avalancheJSNetworkID_test","avalancheJSChainID_test","cChainExplorerURL_test","statusURL_test","network_module","status","networks","selectedNetwork","addNetwork","net","mainnet","testnet","defaultNetwork","setNetwork","setAddress","setNetworkID","XChain","refreshBlockchainID","axios","defaults","baseURL","COINGECKO_URL","withCredentials","PRICE_API_URL","getPrices","encode","OutputType","BlockType","txTypeMap","long","short","getMappingForType","outputTypes","MINT","TRANSFERABLE","NFT_MINT","NFT_TRANSFERABLE","ATOMIC_EXPORT_TX","getOutputType","PROPOSAL","ABORT","COMMIT","STANDARD","ATOMIC","NFTTypes","getNFTType","TRANSACTIONS_API_BASE_URL","getTransaction","render","_vm","_h","$createElement","_c","_self","staticClass","on","style","chainDarkColor","chainColor","_v","_s","_f","chainName","staticRenderFns","$router","$emit","component","attrs","components","Tooltip","$vuetify","breakpoint","smAndUp","scopedSlots","_u","fn","_ref","_g","content","_e","VTooltip","chainCode","smAndDown","_l","inputs","isGenesisVertex","goToTx","background","displayAddress","isBech32","internalURL","abbrev32","externalURL","abbrevHex","AddressLink","addr","isNFT","leftover","$store","amt","charsAfterPeriod","paddingZeros","genesisTxID","flatMap","Set","InputUTXO","OutputUTXO","filters","getType","VBtn","idAbbreviated","supply","resolveResponseData","AVAX_FAUCET_ID","AVAX_ID","BAGUETTE_ID","logo","mdAndUp","navColor","cChainURL","staticStyle","logoColor","tokensURL","isMainnet","statsURL","statusPageURL","priceUSD","onsearch","isAjax","search","directives","rawName","searchValue","expression","placeholder","domProps","$event","_k","keyCode","closeSearch","composing","oninput","onfocus","onblur","showResults","results","getKey","nativeOn","onSelectResult","closeMenu","toggleMenu","networkColor","activeNetwork","isModalOpen","page","isSelected","isConnected","location","portText","networkStatus","NetworkRow","ListPage","VAppBar","VProgressCircular","VSpacer","_m","isSearch","isDrawer","model","callback","$$v","ref","path","query","currentRoute","SearchBarMobile","NetworkMenu","VCard","VDialog","VList","VListItem","VNavigationDrawer","VAlert","img","VFooter","notif","extend","NavBar","NavBarMobile","TestnetAlert","Footer","watch","$route","handler","querySelectorAll","el","meta","metaTags","tagDef","immediate","created","VApp","VContent","loading","updateTx","heading","_ref2","xChain","_ref3","cChain","poller","setInterval","pollForTxUpdates","addEventListener","killPollingInterval","clearInterval","removeEventListener","TxTableHead","TxRow","RecentTxHeader","RecentTransactions","suffix","description","defaultMetaTags","routes","auth","beforeEnter","NETWORK_ID","router","base","scrollBehavior","x","y","theme","themes","light","dark","nav_bar","primary","time","format","humanize","fromNow","toNow","unit","num","config","productionTip","vuetify","h","App","$mount","remainder","mod","wholeNums","wnInt","avalancheGoURL","PROTOCOL","IP","PORT","CHAIN_ID","avm","platform","PChain","AGGREGATES_V2_API_BASE_URL","ASSET_AGGREGATES_V2_API_BASE_URL","getAggregates","param","prefixedAddress","avaxBalance","avaxDenomination","avaxSymbol","balance","chainNow","expletives","cusses","getCusses","toLowerCase","expletive","values","entries","cuss","profanities","getOutput","getTransactionChainType","getTransactionOutputs","chainType","caddresses","getTransactionInputs","outputIndex","memo","inputTotals","outputTotals","reusedAddressTotals","txFee","genesis","rewarded","rewardedTime","epoch","vertexId","validatorNodeID","validatorStart","validatorEnd","txBlockId","ORTELIUS_URL"],"mappings":"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R,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,gBAAiB,OACjB,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,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C,iBAAiB,EACjBnX,QAAS,CACL,eAAgB,sB,iCCJlBoX,EAAgB,SAahB,SAAUC,EAAUtf,GACtB,OAAO,EACFrF,IADE,UACK0kB,GAAiB,CACrBrf,SACAC,iBAAkB,SAACD,GAAD,OACd,IAAGE,UAAUF,EAAQ,CAAEG,YAAa,QAASof,QAAQ,OAE5DtmB,KAAK,U,gMC4UFumB,EASAC,E,yCATZ,SAAYD,GACR,qBACA,4BACA,iBACA,mCACA,sCACA,uCANJ,CAAYA,MAAU,KAStB,SAAYC,GACR,yBACA,mBACA,qBACA,yBACA,qBALJ,CAAYA,MAAS,KClWd,IAAMC,EAAY,IAAIvE,IAAoB,CAC7C,CACI,OACA,CACIwE,KAAM,OACNC,MAAO,KAGf,CACI,eACA,CACID,KAAM,eACNC,MAAO,SAMf,CACI,YACA,CACID,KAAM,YACNC,MAAO,QAGf,CACI,SACA,CACID,KAAM,SACNC,MAAO,WAGf,CACI,SACA,CACID,KAAM,SACNC,MAAO,WAGf,CACI,mBACA,CACID,KAAM,gBACNC,MAAO,WAGf,CACI,mBACA,CACID,KAAM,gBACNC,MAAO,WAGf,CACI,gBACA,CACID,KAAM,gBACNC,MAAO,aAGf,CACI,uBACA,CACID,KAAM,uBACNC,MAAO,oBAGf,CACI,gBACA,CACID,KAAM,gBACNC,MAAO,aAGf,CACI,gBACA,CACID,KAAM,gBACNC,MAAO,kBAGf,CACI,eACA,CACID,KAAM,eACNC,MAAO,iBAGf,CACI,aACA,CACID,KAAM,aACNC,MAAO,WAGf,CACI,aACA,CACID,KAAM,aACNC,MAAO,WAGf,CACI,eACA,CACID,KAAM,eACNC,MAAO,iBAGf,CACI,mBACA,CACID,KAAM,mBACNC,MAAO,aAKb,SAAUC,EAAkB1nB,GAC9B,OAAOunB,EAAU/kB,IAAIxC,GAAOynB,OAAS,GAMzC,IAAME,EAAc,IAAI3E,IAAI,CACxB,CAAC,EAAGqE,EAAWO,MACf,CAAC,EAAGP,EAAWQ,cACf,CAAC,GAAIR,EAAWS,UAChB,CAAC,GAAIT,EAAWU,kBAChB,CAAC,WAAYV,EAAWW,kBACxB,CAAC,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","file":"js/app.e3ce9c0a.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({\"address~addresses~asset~assets~blockchains~evmblock~subnet~subnets~transactions\":\"address~addresses~asset~assets~blockchains~evmblock~subnet~subnets~transactions\",\"addresses~assets~blockchains~evmblock~subnet~subnets\":\"addresses~assets~blockchains~evmblock~subnet~subnets\",\"addresses\":\"addresses\",\"address~evmtransaction~subnet~subnets~validators\":\"address~evmtransaction~subnet~subnets~validators\",\"subnets~transaction\":\"subnets~transaction\",\"subnets\":\"subnets\",\"assets\":\"assets\",\"address~asset~blockchains~evmaddress~evmblock~evmtransaction~subnet~transaction\":\"address~asset~blockchains~evmaddress~evmblock~evmtransaction~subnet~transaction\",\"address~asset~evmaddress~evmblock~evmtransaction~transaction\":\"address~asset~evmaddress~evmblock~evmtransaction~transaction\",\"evmblock\":\"evmblock\",\"subnet\":\"subnet\",\"asset~blockchains~evmtransaction~transactions\":\"asset~blockchains~evmtransaction~transactions\",\"blockchains\":\"blockchains\",\"address\":\"address\",\"asset\":\"asset\",\"transactions\":\"transactions\",\"evmtransaction\":\"evmtransaction\",\"evmaddress\":\"evmaddress\",\"transaction~validators\":\"transaction~validators\",\"transaction\":\"transaction\",\"validators\":\"validators\",\"resources\":\"resources\",\"search\":\"search\"}[chunkId]||chunkId) + \".\" + {\"address~addresses~asset~assets~blockchains~evmblock~subnet~subnets~transactions\":\"9c7933af\",\"addresses~assets~blockchains~evmblock~subnet~subnets\":\"fdff7d18\",\"addresses\":\"af85f6ee\",\"address~evmtransaction~subnet~subnets~validators\":\"9724468f\",\"subnets~transaction\":\"4f6cfd8a\",\"subnets\":\"99432aa4\",\"assets\":\"659b6c62\",\"address~asset~blockchains~evmaddress~evmblock~evmtransaction~subnet~transaction\":\"85d9803c\",\"address~asset~evmaddress~evmblock~evmtransaction~transaction\":\"b98ea058\",\"evmblock\":\"b04aa935\",\"subnet\":\"b57f62c4\",\"asset~blockchains~evmtransaction~transactions\":\"c4a5ca48\",\"blockchains\":\"60189a8c\",\"address\":\"ff1148f5\",\"asset\":\"1f4e7ea5\",\"transactions\":\"40eb5200\",\"evmtransaction\":\"b6268d41\",\"evmaddress\":\"7d6da546\",\"transaction~validators\":\"f52b9512\",\"transaction\":\"ad060570\",\"validators\":\"b51eca95\",\"resources\":\"7f2945a9\",\"search\":\"4b0deb57\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"address~addresses~asset~assets~blockchains~evmblock~subnet~subnets~transactions\":1,\"addresses~assets~blockchains~evmblock~subnet~subnets\":1,\"addresses\":1,\"address~evmtransaction~subnet~subnets~validators\":1,\"subnets\":1,\"assets\":1,\"address~asset~blockchains~evmaddress~evmblock~evmtransaction~subnet~transaction\":1,\"address~asset~evmaddress~evmblock~evmtransaction~transaction\":1,\"evmblock\":1,\"subnet\":1,\"asset~blockchains~evmtransaction~transactions\":1,\"blockchains\":1,\"address\":1,\"asset\":1,\"transactions\":1,\"evmtransaction\":1,\"evmaddress\":1,\"transaction~validators\":1,\"transaction\":1,\"validators\":1,\"resources\":1,\"search\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({\"address~addresses~asset~assets~blockchains~evmblock~subnet~subnets~transactions\":\"address~addresses~asset~assets~blockchains~evmblock~subnet~subnets~transactions\",\"addresses~assets~blockchains~evmblock~subnet~subnets\":\"addresses~assets~blockchains~evmblock~subnet~subnets\",\"addresses\":\"addresses\",\"address~evmtransaction~subnet~subnets~validators\":\"address~evmtransaction~subnet~subnets~validators\",\"subnets~transaction\":\"subnets~transaction\",\"subnets\":\"subnets\",\"assets\":\"assets\",\"address~asset~blockchains~evmaddress~evmblock~evmtransaction~subnet~transaction\":\"address~asset~blockchains~evmaddress~evmblock~evmtransaction~subnet~transaction\",\"address~asset~evmaddress~evmblock~evmtransaction~transaction\":\"address~asset~evmaddress~evmblock~evmtransaction~transaction\",\"evmblock\":\"evmblock\",\"subnet\":\"subnet\",\"asset~blockchains~evmtransaction~transactions\":\"asset~blockchains~evmtransaction~transactions\",\"blockchains\":\"blockchains\",\"address\":\"address\",\"asset\":\"asset\",\"transactions\":\"transactions\",\"evmtransaction\":\"evmtransaction\",\"evmaddress\":\"evmaddress\",\"transaction~validators\":\"transaction~validators\",\"transaction\":\"transaction\",\"validators\":\"validators\",\"resources\":\"resources\",\"search\":\"search\"}[chunkId]||chunkId) + \".\" + {\"address~addresses~asset~assets~blockchains~evmblock~subnet~subnets~transactions\":\"f0723f1a\",\"addresses~assets~blockchains~evmblock~subnet~subnets\":\"e815eb53\",\"addresses\":\"08bb04ee\",\"address~evmtransaction~subnet~subnets~validators\":\"b121e36e\",\"subnets~transaction\":\"31d6cfe0\",\"subnets\":\"0db4bbf3\",\"assets\":\"005f0303\",\"address~asset~blockchains~evmaddress~evmblock~evmtransaction~subnet~transaction\":\"dd1ba140\",\"address~asset~evmaddress~evmblock~evmtransaction~transaction\":\"f5e1588e\",\"evmblock\":\"a30e1139\",\"subnet\":\"fdfa6c37\",\"asset~blockchains~evmtransaction~transactions\":\"79400618\",\"blockchains\":\"9059ccca\",\"address\":\"f93bdc4c\",\"asset\":\"c16b4237\",\"transactions\":\"60918e1e\",\"evmtransaction\":\"93dbb314\",\"evmaddress\":\"9e459f46\",\"transaction~validators\":\"3dcbe951\",\"transaction\":\"ebe2a8a4\",\"validators\":\"c0a33f6a\",\"resources\":\"d6abf2c0\",\"search\":\"0e3fcefe\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import { IAssetDataOrtelius } from './IAsset'\nimport { profanities } from '@/js/Profanities'\nimport Big from 'big.js'\nimport { stringToBig } from '@/helper'\nimport store from '../store'\nimport { IAggregate } from '@/services/aggregates'\n\nclass Asset {\n id: string\n alias: string\n chainID: string\n currentSupply: Big\n denomination: number\n name: string\n symbol: string\n timestamp: string\n variableCap: number\n nft: number\n aggregates: IAggregate | null\n // aggregate data\n volume_day: Big\n txCount_day: number\n addressCount_day: number\n outputCount_day: number\n isHistoryUpdated: boolean\n // FE metadata\n profane: boolean\n // not in indexer\n isUnknown: boolean\n\n constructor(assetData: IAssetDataOrtelius, isUnknown: boolean) {\n this.id = assetData.id\n this.alias = assetData.alias\n this.chainID = assetData.chainID\n // TODO: supply is genesis TX only\n this.currentSupply = Big(assetData.currentSupply).div(\n Math.pow(10, assetData.denomination)\n )\n this.denomination = assetData.denomination\n this.name = assetData.name\n this.symbol = assetData.symbol\n this.timestamp = assetData.timestamp\n this.variableCap = assetData.variableCap\n this.nft = assetData.nft\n this.aggregates = assetData.aggregates\n // aggregate data\n this.volume_day = Big(0)\n this.txCount_day = 0\n this.addressCount_day = 0\n this.outputCount_day = 0\n this.isHistoryUpdated = false\n // not in indexer\n this.isUnknown = isUnknown\n // FE metadata\n this.profane = false\n this.checkForProfanities(this.name)\n this.checkForProfanities(this.symbol)\n }\n\n // Daily Volume\n public updateAggregates(assetAggregate: IAggregate): void {\n if (this.isUnknown === false) {\n this.volume_day = stringToBig(\n assetAggregate.transactionVolume,\n this.denomination\n )\n this.txCount_day = assetAggregate.transactionCount\n this.addressCount_day = assetAggregate.addressCount\n this.outputCount_day = assetAggregate.outputCount\n this.isHistoryUpdated = true\n store.commit('updateAssetInSubsetForAggregation', this.id)\n }\n }\n\n private checkForProfanities(value: string): void {\n if (this.profane) {\n return\n }\n this.profane = profanities.screen(value)\n }\n}\n\nexport { Asset }\n","import Vue from 'vue'\nimport { Module } from 'vuex'\nimport api from '@/axios'\nimport { IRootState } from '@/store/types'\nimport { IAddressState } from './IAddressState'\n\nconst address_module: Module = {\n namespaced: true,\n state: {\n addresses: {},\n addressesList: [],\n addressesLoaded: false,\n },\n mutations: {\n addAddress(state, address) {\n Vue.set(state.addresses, address.id, address)\n },\n finishLoading(state) {\n state.addressesLoaded = true\n },\n },\n actions: {\n init({ dispatch }) {\n dispatch('getAddresses')\n },\n async getAddresses({ state, commit }) {\n // TODO: support service for multiple chains\n await api.get('/x/addresses').then((res) => {\n const addresses = res.data.addresses\n addresses.forEach((addressData: any) => {\n commit('addAddress', addressData)\n })\n })\n state.addressesLoaded = true\n },\n },\n getters: {\n // addressesArray(state: IAddressState): IAddress[] {\n // let res: IAddress[] = [];\n // for (let i in state.addresses) {\n // res.push(state.addresses[i]);\n // }\n // return res;\n // },\n },\n}\n\nexport default address_module\n","import { Module } from 'vuex'\nimport { IRootState } from '@/store/types'\nimport {\n NotifState,\n Notification,\n NotificationInput,\n} from '@/store/modules/notifications/types'\n\nconst COLOR_SUCCESS = '#6BC688'\nconst COLOR_WARNING = '#c39043'\nconst COLOR_ERROR = '#E84970'\nlet notif_id = 0\n\nconst notifications_module: Module = {\n namespaced: true,\n state: {\n items: [],\n },\n actions: {\n add(store, data: NotificationInput) {\n const id = notif_id++\n const type: string = data.type || 'success'\n const duration: number = data.duration || 5000\n let color: string = COLOR_SUCCESS\n\n switch (type) {\n case 'success':\n color = COLOR_SUCCESS\n break\n case 'error':\n color = COLOR_ERROR\n break\n case 'warning':\n color = COLOR_WARNING\n break\n }\n\n const item: Notification = {\n id: id,\n title: data.title,\n message: data.message,\n color: color,\n duration: 5000,\n }\n\n setTimeout(() => {\n for (let i = 0; i < store.state.items.length; i++) {\n const item = store.state.items[i]\n if (item.id === id) {\n store.state.items.splice(i, 1)\n }\n }\n }, duration)\n store.state.items.push(item)\n },\n },\n}\n\nexport default notifications_module\n","import api from '@/axios'\nimport { resolveResponseData } from '@/services/helpers'\nimport qs from 'qs'\n\nconst EVM_TRANSACTIONS_API_BASE_URL = process.env\n .VUE_APP_EVM_TRANSACTIONS_V2_API_BASE_URL as string\n\nexport interface IEVMTransactionParams {\n toAddress?: string // address\n fromAddress?: string // address\n address?: string // address (to or from)\n hash?: string // tx hash\n blockStart?: number // Starting block number inclusive\n blockEnd?: number // Ending block number exclusive\n}\n\n/**\n * Get a list of EVM transactions (C-Chain)\n * @param params api release\n * @link https://docs.avax.network/build/tools/ortelius#list-c-chain-transactions\n */\nexport function getEVMTransaction(params?: IEVMTransactionParams) {\n return api\n .get(EVM_TRANSACTIONS_API_BASE_URL, {\n params,\n paramsSerializer: (params) =>\n qs.stringify(params, { arrayFormat: 'repeat' }),\n })\n .then(resolveResponseData)\n}\n","import { Transaction } from '@/js/Transaction'\nimport { TransactionQueryResponse } from '..'\nimport { TransactionQuery, TransactionResponse } from '../models'\n\nexport function parseTxs(txRes: TransactionQueryResponse): TransactionQuery {\n return {\n ...txRes,\n transactions: txRes.transactions.map((tx: TransactionResponse) => {\n return new Transaction(tx)\n }),\n }\n}\n","import api from '@/axios'\nimport { resolveResponseData } from '@/services/helpers'\n\nconst EVM_BLOCKS_API_BASE_URL = process.env\n .VUE_APP_EVM_BLOCKS_V2_API_BASE_URL as string\n\n/**\n * Get an EVM block (C-Chain)\n * @param id block height\n * @link https://docs.avax.network/build/tools/ortelius#get-a-c-chain-block\n */\nexport function getEVMBlock(height: string) {\n return api\n .get(`${EVM_BLOCKS_API_BASE_URL}/${height}`)\n .then(resolveResponseData)\n}\n","import { EVMBlockLog } from '../models'\n\nexport function parseLogs(logs: EVMBlockLog[] | null) {\n if (!logs) return []\n return logs\n}\n","import { TraceResponse } from '../models'\n\n// inits a list to store children\n// adds props for UI\nfunction dressTrace(trace: TraceResponse, txInput: string) {\n return {\n ...trace,\n children: [],\n id: trace.traceAddress ? trace.traceAddress.toString() : txInput,\n name: `${trace.callType} | ${trace.type} (${trace.input} => ${trace.output})`,\n }\n}\n\nexport function parseEVMTraces(traces: TraceResponse[], txInput: string) {\n if (!traces) return []\n\n const graph: any = []\n\n // the root trace is the outermost function call\n // this is the transaction itself\n graph[0] = traces.shift()\n graph[0] = dressTrace(graph[0], txInput)\n\n // This reducer converts the flat list of function traces to a graph structure\n const grapher = (root: any, currentValue: any) => {\n currentValue = dressTrace(currentValue, txInput)\n\n // the second-to-last traceAddress is the trace's parent (where the function was called)\n const beforeLast =\n currentValue.traceAddress[currentValue.traceAddress.length - 1 - 1]\n\n // if no parent, insert trace into the root\n if (beforeLast === undefined) {\n root.children.push(currentValue)\n }\n // find the parent\n else {\n // The traceAddress list shows us the positions for the call graph:\n // [0, 0, 2, 0]\n // ^parent ^trace\n\n // find depth of parent\n const depth = currentValue.traceAddress.length - 1\n let ancestor\n let parent = root\n // walk the graph to get to the parent\n for (let i = 0; i < depth; i++) {\n ancestor = parent\n parent = ancestor.children[currentValue.traceAddress[i]]\n }\n // insert trace into the parent\n parent.children.push(currentValue)\n }\n return root\n }\n\n const traceGraph = [traces.reduce(grapher, graph[0])]\n return traceGraph\n}\n","import { EVMTransactionResponse } from '../models'\nimport { EVMBlockQueryResponse, EVMBlockLog } from '@/store/modules/blocks'\nimport { parseLogs } from '../../blocks/helpers/parseEVMLogs'\nimport { parseEVMTraces } from './parseEVMTraces'\nimport { toAVAX } from '@/helper'\n\nexport function getLogs(\n block: EVMBlockQueryResponse,\n transaction: EVMTransactionResponse\n) {\n if (!block.logs) return []\n let logs: EVMBlockLog[] = block.logs.filter(\n (l) => l.transactionHash === transaction.hash\n )\n logs = parseLogs(logs)\n return logs\n}\n\nexport function parseEVMTxs(\n tx: EVMTransactionResponse,\n block: EVMBlockQueryResponse\n) {\n // Parse raw data\n const logs = getLogs(block, tx)\n const traces = tx.traces\n const tracesGraph = parseEVMTraces(tx.traces, tx.input)\n\n // Munge tx and block\n const transaction = {\n ...tx,\n // PAYLOAD\n gasPrice: toAVAX(parseInt(tx.gasPrice), 18),\n ...block,\n logs,\n traces,\n tracesGraph,\n transfers: [],\n }\n // console.log('munged tx ', transaction)\n return transaction\n}\n","import { Module } from 'vuex'\nimport { IRootState } from '@/store/types'\nimport {\n TransactionResponse,\n TransactionQueryResponse,\n TransactionsState,\n TransactionQuery,\n EVMTransactionResponse,\n EVMTransactionQueryResponse,\n} from './models'\nimport { EVMBlockQueryResponse } from '@/store/modules/blocks/models'\nimport { getTransaction, ITransactionPayload } from '@/services/transactions'\nimport {\n getEVMTransaction,\n IEVMTransactionParams,\n} from '@/services/evmtransactions'\nimport { Transaction } from '@/js/Transaction'\nimport { parseTxs } from './helpers'\nimport { getEVMBlock } from '@/services/evmblocks'\nimport { parseEVMTxs } from './helpers/parseEVMTxs'\n\nconst defaultState = {\n tx: null,\n txRes: {\n startTime: '',\n endTime: '',\n next: '',\n transactions: [],\n },\n recentTxRes: {\n startTime: '',\n endTime: '',\n next: '',\n transactions: [],\n },\n assetTxRes: {\n startTime: '',\n endTime: '',\n next: '',\n transactions: [],\n },\n addressTxRes: {\n startTime: '',\n endTime: '',\n next: '',\n transactions: [],\n },\n blockchainTxRes: {\n startTime: '',\n endTime: '',\n next: '',\n transactions: [],\n },\n evmTx: null,\n}\n\nconst transactions_module: Module = {\n namespaced: true,\n modules: {},\n state: defaultState,\n mutations: {\n addTx(state, tx: Transaction) {\n state.tx = tx\n },\n addTxs(state, txRes: TransactionQuery) {\n state.txRes = txRes\n },\n addRecentTxs(state, txRes: TransactionQuery) {\n state.recentTxRes = txRes\n },\n addAssetTxs(state, txRes: TransactionQuery) {\n state.assetTxRes = txRes\n },\n addAddressTxs(state, txRes: TransactionQuery) {\n state.addressTxRes = txRes\n },\n addBlockchainTxs(state, txRes: TransactionQuery) {\n state.blockchainTxRes = txRes\n },\n addEVMTx(state, evmTx: EVMTransactionResponse) {\n state.evmTx = evmTx\n },\n },\n actions: {\n async getTx(store, payload: ITransactionPayload) {\n const txRes: TransactionResponse = await getTransaction(payload.id)\n if (txRes) store.commit('addTx', new Transaction(txRes))\n },\n async getTxs(store, payload: ITransactionPayload) {\n const txRes: TransactionQueryResponse = await getTransaction(\n payload.id,\n payload.params\n )\n store.commit('addTxs', parseTxs(txRes))\n },\n async getRecentTxs(store, payload: ITransactionPayload) {\n const txRes: TransactionQueryResponse = await getTransaction(\n payload.id,\n payload.params\n )\n store.commit('addRecentTxs', parseTxs(txRes))\n },\n async getTxsByAddress(store, payload: ITransactionPayload) {\n const txRes: TransactionQueryResponse = await getTransaction(\n payload.id,\n payload.params\n )\n store.commit('addAddressTxs', parseTxs(txRes))\n },\n async getTxsByAsset(store, payload: ITransactionPayload) {\n const txRes: TransactionQueryResponse = await getTransaction(\n payload.id,\n payload.params\n )\n store.commit('addAssetTxs', parseTxs(txRes))\n },\n async getTxsByBlockchain(store, payload: ITransactionPayload) {\n const txRes: TransactionQueryResponse = await getTransaction(\n payload.id,\n payload.params\n )\n store.commit('addBlockchainTxs', parseTxs(txRes))\n },\n async getNFTPayloads(store, payload: ITransactionPayload) {\n // get the asset creation tx\n const txRes: TransactionResponse = await getTransaction(payload.id)\n // find the NFT Minting Right UTXO\n const NFTMintUTXO = txRes.outputs.find(\n (utxo) => utxo.outputType === 10\n )\n // the redeemedTx of the NFT Minting Right UTXO has the payloads\n const txResNFT: TransactionResponse = await getTransaction(\n NFTMintUTXO?.redeemingTransactionID\n )\n // get a list of payload tuples [payload, groupID]\n // remove empty strings and duplicates\n const payloads = txResNFT.outputs\n .map((utxo) => [utxo.payload, utxo.groupID])\n .filter((payload: (string | number | null)[]) => {\n if (payload[0]) return (payload[0] as string).length !== 0\n })\n .filter((value, index, self) => self.indexOf(value) === index)\n return payloads\n },\n async getEVMTx(store, params: IEVMTransactionParams) {\n const txRes: EVMTransactionQueryResponse = await getEVMTransaction(\n params\n )\n const tx = txRes.Transactions[0]\n if (tx) {\n const blockRes: EVMBlockQueryResponse = await getEVMBlock(\n tx.block\n )\n const parsedTx = parseEVMTxs(tx, blockRes)\n store.commit('addEVMTx', parsedTx)\n }\n },\n },\n}\nexport default transactions_module\n","import { EVMBlockQueryResponse, EVMBlockTransaction } from '../models'\nimport web3 from 'web3'\nimport { Buffer } from 'avalanche/dist'\nimport { Serialization } from 'avalanche/dist/utils'\nimport createHash from 'create-hash'\nimport { getTransaction } from '@/services/transactions'\nimport { Transaction } from '@/js/Transaction'\nimport { parseLogs } from './parseEVMLogs'\nimport { toAVAX } from '@/helper'\n\nexport function parseEVMBlockTxs(txs: EVMBlockTransaction[] | null) {\n // console.log('txs ', txs)\n if (!txs) return []\n const parsedTxs = txs.map((tx) => {\n // console.log('tx.input ', web3.utils.hexToAscii(tx.input))\n\n return {\n hash: tx.hash,\n type: tx.type,\n // SENDER (v,r,s resolves to fromAddr)\n v: '',\n r: '',\n s: '',\n nonce: '',\n\n // PAYLOAD\n value: toAVAX(parseInt(web3.utils.hexToNumberString(tx.value)), 18),\n input: web3.utils.hexToAscii(tx.input), //TODO https://ethereum.stackexchange.com/questions/11144/how-to-decode-input-data-from-a-transaction\n gasPrice: toAVAX(\n parseInt(web3.utils.hexToNumberString(tx.gasPrice)),\n 18\n ),\n gas: parseInt(web3.utils.hexToNumberString(tx.gas)),\n\n // RECIPIENT\n to: tx.to,\n }\n })\n // console.log('parsedTxs ', parsedTxs)\n return parsedTxs\n}\n\nexport async function parseAtomicTxs(\n blockExtraData: string\n): Promise {\n if (blockExtraData === '') {\n return []\n } else {\n // Decode id\n const serialization: Serialization = Serialization.getInstance()\n const buf = Buffer.from(\n createHash('sha256').update(blockExtraData, 'base64').digest()\n .buffer\n )\n const hash = serialization.bufferToType(buf, 'cb58')\n // Get atomic tx data\n const txRes = await getTransaction(hash)\n const tx = new Transaction(txRes)\n return [tx]\n }\n}\n\nexport async function parseEVMBlocks(block: EVMBlockQueryResponse) {\n const parsedBlock = {\n number: parseInt(web3.utils.hexToNumberString(block.header.number)),\n timestamp:\n parseInt(web3.utils.hexToNumberString(block.header.timestamp)) *\n 1000,\n\n // MODIFIED MERKLE PATRICIA TREE\n hash: block.header.hash,\n parentHash: block.header.parentHash,\n stateRoot: block.header.stateRoot,\n transactionsRoot: block.header.stateRoot,\n atomicTransactionsRoot: block.header.extDataHash,\n receiptsRoot: block.header.receiptsRoot,\n\n // BLOCK SIZE\n gasLimit: parseInt(web3.utils.hexToNumberString(block.header.gasLimit)),\n gasUsed: parseInt(web3.utils.hexToNumberString(block.header.gasUsed)),\n\n // EXECUTIONS\n transactions: parseEVMBlockTxs(block.transactions),\n atomicTransactions: await parseAtomicTxs(block.blockExtraData),\n logs: parseLogs(block.logs),\n }\n return parsedBlock\n}\n","import { Module } from 'vuex'\nimport { IRootState } from '@/store/types'\nimport { BlocksState, EVMBlockQueryResponse } from './models'\nimport { getEVMBlock } from '@/services/evmblocks'\nimport { parseEVMBlocks } from './helpers/parseEVMBlocks'\n\nconst defaultState = {\n evmBlock: null,\n}\n\nconst blocks_module: Module = {\n namespaced: true,\n modules: {},\n state: defaultState,\n mutations: {\n addEVMBlock(state, block) {\n state.evmBlock = block\n },\n },\n actions: {\n async getEVMBlock(store, height: string) {\n const blockRes: EVMBlockQueryResponse = await getEVMBlock(height)\n if (blockRes) {\n const parsedBlock = await parseEVMBlocks(blockRes)\n store.commit('addEVMBlock', parsedBlock)\n }\n },\n },\n}\nexport default blocks_module\n","import { AVAX_ID } from './known_assets'\n\nexport const AVAX_PRICE_ID = process.env.VUE_APP_AVAX_PRICE_ID as string\nexport const VS_CURRENCIES = process.env.VUE_APP_VS_CURRENCIES as string\n\ninterface PricesDict {\n [key: string]: string\n}\n\nconst dict: PricesDict = {}\n\ndict[AVAX_ID] = AVAX_PRICE_ID\n\nexport default dict\n","export async function getABI(id: string) {\n const res: any = await fetch(`/abi/${id}.json`, {\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n .then((response) => response.json())\n .then((data) => data)\n return res\n}\n","import Vue from 'vue'\nimport Vuex from 'vuex'\nimport { Asset } from '@/js/Asset'\nimport { IRootState } from '@/store/types'\nimport AddressDict from '@/known_addresses'\nimport Platform from './modules/platform/platform'\nimport Address from './modules/address/address'\nimport Network from './modules/network/network'\nimport Notifications from './modules/notifications/notifications'\nimport Transactions from './modules/transactions/transactions'\nimport Blocks from './modules/blocks/blocks'\nimport { avm } from '@/avalanche'\nimport {\n IAssetDataOrtelius,\n IAssetDataAvalancheGo,\n ICollisionMap,\n} from '@/js/IAsset'\nimport {\n TransactionQuery,\n TransactionQueryResponse,\n} from '@/store/modules/transactions/models'\nimport { ITransactionPayload } from '@/services/transactions'\nimport { getTransaction } from '@/services/transactions'\nimport { getAssetAggregates, IAssetAggregate } from '@/services/aggregates'\nimport { parseTxs } from './modules/transactions/helpers'\nimport { X } from '@/known_blockchains'\nimport { getCacheAssets } from '@/services/assets'\nimport { getPrices, Price, PriceMap } from '@/services/price'\nimport { AVAX_PRICE_ID, VS_CURRENCIES } from '@/known_prices'\nimport { getABI } from '@/services/abi/abi.service'\n//@ts-ignore\nimport abiDecoder from 'abi-decoder'\n\nVue.use(Vuex)\n\nconst store = new Vuex.Store({\n modules: {\n Platform,\n Address,\n Notifications,\n Network,\n Transactions,\n Blocks,\n },\n state: {\n assets: {},\n assetsLoaded: false,\n assetAggregatesLoaded: false,\n known_addresses: AddressDict,\n chainId: 'X',\n recentTxRes: {},\n assetsSubsetForAggregations: {}, // TODO: remove eventually\n // this is a bandaid until the API precomputes aggregate data for assets\n // it holds a subset of the assets and checks if they have aggregation data\n // temporarily responsible for triggering assetAggregatesLoaded\n collisionMap: {},\n pricesLoaded: false,\n prices: null,\n abisLoaded: false,\n abis: null,\n abiDecoder: null,\n } as IRootState,\n actions: {\n async init(store) {\n // Get and set initial list of all indexed assets\n await store.dispatch('getAssets')\n store.dispatch('getPrice')\n store.dispatch('getABI')\n\n // Once we have assets, next get recent transactions\n store.dispatch('getRecentTransactions', {\n id: null,\n params: {\n sort: 'timestamp-desc',\n limit: 10,\n },\n })\n\n // Then get asset aggregation data\n store.dispatch('getAssetAggregates')\n\n // Uniqueify Symbols\n const collisionMap = await store.dispatch('getCollisionMap')\n store.commit('addCollisionMap', collisionMap)\n },\n\n /**\n * Get and set initial list of all indexed assets\n */\n async getAssets(store) {\n const assetsData = await getCacheAssets()\n assetsData.forEach((assetData: any) => {\n store.commit('addAsset', new Asset(assetData, false))\n })\n store.commit('finishLoading')\n },\n\n async getAssetAggregates(store) {\n const assetAggregates: IAssetAggregate[] = await getAssetAggregates()\n assetAggregates.forEach((agg: IAssetAggregate) => {\n // only request aggregates for assets that are in the Ortelius assets map\n if (store.state.assets[agg.asset]) {\n store.commit('updateAssetWithAggregationData', agg)\n }\n })\n store.commit('finishAggregatesLoading')\n },\n\n async getRecentTransactions(store, payload: ITransactionPayload) {\n const txRes: TransactionQueryResponse = await getTransaction(\n payload.id,\n payload.params\n )\n store.commit('addRecentTransactions', parseTxs(txRes))\n },\n\n // Adds an unknown asset id to the assets dictionary\n async addUnknownAsset({ commit }, assetId: string) {\n const desc: IAssetDataAvalancheGo = await avm.getAssetDescription(\n assetId\n )\n const newAssetData: IAssetDataOrtelius = {\n alias: '',\n chainID: X.id,\n currentSupply: '0',\n denomination: desc.denomination,\n id: assetId,\n name: desc.name,\n symbol: desc.symbol,\n timestamp: '',\n variableCap: 0,\n nft: 0,\n aggregates: null,\n }\n commit('addAsset', new Asset(newAssetData, true))\n },\n\n getCollisionMap({ state }): ICollisionMap {\n const map: ICollisionMap = {}\n const assets = state.assets\n for (const asset in assets) {\n const symbol = assets[asset].symbol\n const id = assets[asset].id\n if (map[symbol]) {\n map[symbol].push(id)\n } else {\n map[symbol] = [id]\n }\n }\n return map\n },\n\n async getPrice({ commit }) {\n const price: PriceMap = await getPrices({\n ids: [AVAX_PRICE_ID],\n vs_currencies: [VS_CURRENCIES],\n })\n commit('addPrices', price[AVAX_PRICE_ID])\n commit('finishPricesLoading')\n },\n\n async getABI({ commit }) {\n const ERC20: any = await getABI('erc20')\n const ERC721: any = await getABI('erc721')\n\n const ERC20Events = ERC20.filter((i: any) => i.type === 'event')\n abiDecoder.addABI(ERC20Events)\n\n // TODO: Deal with collisions due to canonical sigs\n // const ERC721Events = ERC721.filter((i: any) => i.type === 'event')\n // abiDecoder.addABI(ERC721Events)\n\n const ABIS = {\n erc20: ERC20,\n erc721: ERC721,\n }\n commit('addABIs', ABIS)\n commit('addABIDecoder', abiDecoder)\n commit('finishABIsLoading')\n },\n },\n mutations: {\n finishLoading(state) {\n state.assetsLoaded = true\n },\n // ASSETS\n addAsset(state, asset) {\n Vue.set(state.assets, asset.id, asset)\n },\n addAssetToSubsetForAggregation(state, assetID: string) {\n Vue.set(state.assetsSubsetForAggregations, assetID, false)\n },\n updateAssetInSubsetForAggregation(state, assetID: string) {\n Vue.set(state.assetsSubsetForAggregations, assetID, true)\n },\n updateAssetWithAggregationData(state, agg: IAssetAggregate) {\n //@ts-ignore\n state.assets[agg.asset].updateAggregates(agg.aggregate.aggregates)\n },\n finishAggregatesLoading(state) {\n state.assetAggregatesLoaded = true\n },\n // TRANSACTIONS\n addRecentTransactions(state, txRes: TransactionQuery) {\n state.recentTxRes = txRes\n },\n addCollisionMap(state, collisionMap: ICollisionMap) {\n state.collisionMap = collisionMap\n },\n addPrices(state, prices: Price) {\n state.prices = prices\n },\n finishPricesLoading(state) {\n state.pricesLoaded = true\n },\n addABIs(state, abis: any) {\n state.abis = abis\n },\n finishABIsLoading(state) {\n state.abisLoaded = true\n },\n addABIDecoder(state, abiDecoder: any) {\n state.abiDecoder = abiDecoder\n },\n },\n getters: {\n assetsArray(state: IRootState): Asset[] {\n const res: Asset[] = []\n for (const i in state.assets) {\n res.push(state.assets[i])\n }\n res.sort((a, b) => {\n const diff = b.volume_day.minus(a.volume_day)\n if (diff.gt(0)) return -1\n else if (diff.lt(0)) return 1\n else return 0\n })\n return res\n },\n assetsArrayNonProfane(state: IRootState, getters): Asset[] {\n return getters.assetsArray.filter((val: Asset) => {\n return !val.profane\n })\n },\n assetsArrayProfane(state: IRootState, getters) {\n return getters.assetsArray.filter((val: Asset) => {\n return val.profane\n })\n },\n // TODO: remove when API implements precomputed aggregates\n assetsSubsetForAggregationArray(state: IRootState): boolean[] {\n const res: boolean[] = []\n for (const i in state.assetsSubsetForAggregations) {\n res.push(state.assetsSubsetForAggregations[i])\n }\n return res\n },\n // TODO: disable-count\n totalTransactions(state: IRootState): number {\n let totalTransactions = 0\n for (const asset in state.assets) {\n totalTransactions += state.assets[asset].txCount_day\n }\n return totalTransactions\n },\n },\n})\nexport default store\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListPage.vue?vue&type=style&index=0&id=51aa10dc&scoped=true&lang=scss&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListPage.vue?vue&type=style&index=0&id=51aa10dc&scoped=true&lang=scss&\"","import store from '@/store'\nimport { AVALANCHE_SUBNET_ID } from './platform'\nimport Big from 'big.js'\nimport { ONEAVAX } from 'avalanche/dist/utils'\nimport { bigToDenomBig } from '@/helper'\n\n/**\n * @returns Count of active validators in Primary Network\n */\nexport function getTotalValidators(): number {\n const defaultSubnet = store.state.Platform.subnets[AVALANCHE_SUBNET_ID]\n return !defaultSubnet ? 0 : defaultSubnet.validators.length\n}\n\n/**\n * @returns Count of pending validators in Primary Network\n */\nexport function getTotalPendingValidators(): number {\n const defaultSubnet = store.state.Platform.subnets[AVALANCHE_SUBNET_ID]\n return !defaultSubnet ? 0 : defaultSubnet.pendingValidators.length\n}\n\n/**\n * @returns Total $AVAX active stake on Primary Network\n */\nexport function getTotalStake(): Big {\n const defaultSubnet = store.state.Platform.subnets[AVALANCHE_SUBNET_ID]\n let total = Big(0)\n return !defaultSubnet\n ? total\n : (total = defaultSubnet.validators.reduce(\n (a, v) => a.add(Big(v.totalStakeAmount as number)),\n total\n ))\n}\n\n/**\n * @returns Total $AVAX pending stake on Primary Network\n */\nexport function getTotalPendingStake(): Big {\n const defaultSubnet = store.state.Platform.subnets[AVALANCHE_SUBNET_ID]\n let total = Big(0)\n return !defaultSubnet\n ? total\n : (total = defaultSubnet.pendingValidators.reduce(\n (a, v) => a.add(Big(v.stakeAmount as number)),\n total\n ))\n}\n\n/**\n * @returns Accumulative distribution of active stakes\n */\nexport function getCumulativeStake(): number[] {\n const defaultSubnet = store.state.Platform.subnets[AVALANCHE_SUBNET_ID]\n const res: number[] = []\n let total = 0\n if (defaultSubnet) {\n defaultSubnet.validators.forEach((v) => {\n total += v.totalStakeAmount as number\n res.push(total)\n })\n }\n return res\n}\n\n/**\n * @returns Accumulative distribution of pending stakes\n */\nexport function getCumulativePendingStake(): number[] {\n const defaultSubnet = store.state.Platform.subnets[AVALANCHE_SUBNET_ID]\n const res: number[] = []\n let total = 0\n if (defaultSubnet) {\n defaultSubnet.pendingValidators.forEach((v) => {\n total += v.stakeAmount as number\n res.push(total)\n })\n }\n return res\n}\n\n/**\n * @returns Count of blockchains across all subnets\n */\nexport function getTotalBlockchains(): number {\n let total = 0\n for (const subnetID of Object.keys(store.state.Platform.subnets)) {\n total += store.state.Platform.subnets[subnetID].blockchains.length\n }\n return total\n}\n\n/**\n * @returns AVAX Market Cap in USD\n */\nexport function getMarketCapUSD(): string {\n const currentSupplyBN = store.state.Platform.currentSupply\n const currentSupplyBig = Big(currentSupplyBN.div(ONEAVAX).toString())\n // TODO: need to use circulatingSupply as currentSupply is both locked and unlocked AVAX\n if (store.state.prices) {\n const marketCapUSD = currentSupplyBig.times(store.state.prices['usd'])\n return marketCapUSD.toLocaleString(2)\n }\n return '-'\n}\n\nexport function getStakingRatio(): number {\n let totalStake = getTotalStake()\n totalStake = bigToDenomBig(totalStake, 9)\n const currentSupply = store.state.Platform.currentSupply\n .div(ONEAVAX)\n .toNumber()\n const percentStaked = totalStake.div(currentSupply).times(100)\n return parseFloat(percentStaked.toFixed(2))\n}\n","export * from './aggregates.service'\nexport * from './models'\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TestnetAlert.vue?vue&type=style&index=0&id=6b0295eb&scoped=true&lang=scss&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TestnetAlert.vue?vue&type=style&index=0&id=6b0295eb&scoped=true&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/explorer_logo_black.82fd714e.png\";","import { P } from '@/known_blockchains'\n\ninterface SubnetDict {\n [key: string]: string\n}\n\nconst dict: SubnetDict = {}\n\ndict[P.id] = 'Primary Network'\n\nexport default dict\n","interface VMDict {\n [key: string]: IVirtualMachine\n}\n\ninterface IVirtualMachine {\n name: string\n fullName: string\n documentation: string\n}\n\nconst dict: VMDict = {\n '': {\n name: 'platformvm',\n fullName: 'Platform',\n documentation:\n 'https://github.com/ava-labs/avalanchego/tree/master/vms/platformvm',\n },\n jvYyfQTxGMJLuGWa55kdP2p2zSUYsQ5Raupu4TW34ZAUBAbtq: {\n name: 'avm',\n fullName: 'Ava',\n documentation:\n 'https://github.com/ava-labs/avalanchego/tree/master/vms/avm',\n },\n mgj786NP7uDwBCcq6YwThhaN8FLyybkCa4zBWTQbNgmK6k9A6: {\n name: 'evm',\n fullName: 'Ethereum',\n documentation:\n 'https://github.com/ava-labs/avalanchego/tree/master/vms/evm',\n },\n}\n\nexport default dict\n","export interface Quote {\n author: string\n quote: string\n}\n\nconst quotes: Quote[] = [\n {\n author: 'Ada Lovelace',\n quote:\n 'Understand well as I may, my comprehension can only be an infinitesimal fraction of all I want to understand.',\n },\n {\n author: 'Ada Lovelace',\n quote:\n 'The more I study, the more insatiable do I feel my genius for it to be.',\n },\n {\n author: 'Ada Lovelace',\n quote:\n 'That brain of mine is something more than merely mortal; as time will show.',\n },\n {\n author: 'Ada Lovelace',\n quote:\n \"If you can't give me poetry, can't you give me poetical science?\",\n },\n {\n author: 'Grace Hopper',\n quote:\n \"The most damaging phrase in the language is: 'It's always been done that way.'\",\n },\n {\n author: 'Grace Hopper',\n quote:\n \"I've always been more interested in the future than in the past.\",\n },\n {\n author: 'Leo Szilard',\n quote:\n 'No computer is ever going to ask a new, reasonable question. It takes trained people to do that.',\n },\n {\n author: 'Grace Hopper',\n quote:\n \"You don't have to know what the future may bring. All you have to do is understand what the future may bring one day before most of the others do.\",\n },\n {\n author: 'Judy Milhon',\n quote:\n 'I’m trying to get root access to the future. I want to raid its system of thought. Grrr.',\n },\n {\n author: 'Ken Thompson',\n quote:\n \"You can't trust code that you did not totally create yourself. (Especially code from companies that employ people like me.)\",\n },\n {\n author: 'John Gilmore',\n quote:\n 'The Internet treats censorship just like any other glitch: it routes around it.',\n },\n {\n author: 'St. Thomas Aquinas',\n quote:\n 'Artificial wealth comprises the things which of themselves satisfy no natural need, for example money, which is a human contrivance.',\n },\n]\n\nexport { quotes }\n","import Big from 'big.js'\nimport SubnetDict from './known_subnets'\nimport BlockchainDict, { C, P, X } from './known_blockchains'\nimport VMDict from './known_vms'\nimport { Quote, quotes } from './quotes'\nimport { BN, Buffer } from 'avalanche/dist'\nimport { NFTTransferOutput, UTXO } from 'avalanche/dist/apis/avm'\nimport { PayloadBase, PayloadTypes } from 'avalanche/dist/utils'\nimport { NetworkIDToHRP } from 'avalanche/dist/utils/constants'\nimport { DEFAULT_NETWORK_ID } from './store/modules/network/network'\nimport { IAddress } from './services/addresses/models'\n\nfunction stringToBig(raw: string, denomination = 0): Big {\n return Big(raw).div(Math.pow(10, denomination))\n}\n\n/**\n * Convert nAvax to Avax\n * @param nAVAX nAvax amount\n * @param denom 9 or 18 decimal places depending on chain\n */\nfunction nAvaxToAVAX(nAVAX: string | number, denom = 9): number {\n return typeof nAVAX === 'string'\n ? parseInt(nAVAX) / Math.pow(10, denom)\n : nAVAX / Math.pow(10, denom)\n}\n\nfunction bigToDenomBig(val: Big, denomination = 0): Big {\n return val.div(Math.pow(10, denomination))\n}\n\nfunction bnToBig(val: BN, denomination = 0): Big {\n return new Big(val.toString()).div(Math.pow(10, denomination))\n}\n\nfunction subnetMap(id: string): string {\n if (SubnetDict[id]) {\n return SubnetDict[id]\n } else {\n return id\n }\n}\n\nfunction blockchainMap(id: string): string {\n if (BlockchainDict[id]) {\n return BlockchainDict[id].name\n } else {\n return id\n }\n}\n\nfunction VMMap(id: string): string {\n if (VMDict[id]) {\n return VMDict[id].name\n } else {\n return id\n }\n}\n\nfunction VMDocumentationMap(id: string): string {\n if (VMDict[id]) {\n return VMDict[id].documentation\n } else {\n return ''\n }\n}\n\nfunction VMFullNameMap(id: string): string {\n if (VMDict[id]) {\n return VMDict[id].fullName\n } else {\n return ''\n }\n}\n\nfunction getRandomQuote(): Quote {\n return quotes[Math.floor(Math.random() * quotes.length)]\n}\n\nfunction countDecimals(value: number): [boolean, number] {\n if (value <= 1e-7) {\n return [true, parseInt(value.toString().split('-')[1])]\n } else if (Math.floor(value) !== value) {\n return [false, value.toString().split('.')[1].length || 0]\n }\n return [false, 0]\n}\n\nfunction trimmedLocaleString(\n amount: Big,\n denomination = 0,\n normalize = true\n): string {\n // produce a localeString with trimmed trailing 0s\n // e.g. 44999999.999120000 to 44,999,999.99912\n\n // convert and denominate\n const denominatedAmt = normalize\n ? amount.div(Math.pow(10, denomination)).toFixed(denomination)\n : amount.toFixed(denomination)\n\n // determine cutoff point for trailing 0s\n // handle scientific notation and decimal formats\n const number = parseFloat(denominatedAmt)\n const [scientific, decimalPlaces] = countDecimals(number)\n\n return scientific\n ? amount.div(Math.pow(10, denomination)).toFixed(denomination)\n : amount.div(Math.pow(10, denomination)).toLocaleString(decimalPlaces)\n}\n\nconst payloadtypes = PayloadTypes.getInstance()\n\nfunction getPayloadFromUTXO(utxo: UTXO): PayloadBase {\n const out = utxo.getOutput() as NFTTransferOutput\n const payload = out.getPayloadBuffer()\n const typeId = payloadtypes.getTypeID(payload)\n const pl = payloadtypes.getContent(payload)\n const payloadbase: PayloadBase = payloadtypes.select(typeId, pl)\n return payloadbase\n}\n\nfunction pushPayload(rawPayload: string, assetID: string, groupID: number) {\n const res: { [key in string]: { [key in string]: PayloadBase[] } } = {}\n let payload = Buffer.from(rawPayload, 'base64')\n payload = Buffer.concat([new Buffer(4).fill(payload.length), payload])\n\n try {\n const typeId = payloadtypes.getTypeID(payload)\n const pl = payloadtypes.getContent(payload)\n const payloadbase: PayloadBase = payloadtypes.select(typeId, pl)\n\n if (res[assetID]) {\n if (res[assetID][groupID]) {\n return res[assetID][groupID].push(payloadbase)\n } else {\n return (res[assetID] = {\n [groupID]: [payloadbase],\n })\n }\n } else {\n return (res[assetID] = {\n [groupID]: [payloadbase],\n })\n }\n } catch (e) {\n console.error(e)\n }\n}\n\nfunction foregroundColor(address: string) {\n const prefix = address.charAt(0)\n switch (prefix) {\n case 'P':\n return P.color\n case 'X':\n return X.color\n case 'C':\n return C.color\n case '0':\n return C.color\n default:\n return '#212121'\n }\n}\n\nfunction backgroundColor(address: string) {\n const prefix = address.charAt(0)\n switch (prefix) {\n case 'P':\n return P.darkColor\n case 'X':\n return X.darkColor\n case 'C':\n return C.darkColor\n case '0':\n return C.darkColor\n default:\n return '#e4e4e4'\n }\n}\n\nconst firstChars = 6\nconst lastChars = 6\n\nfunction abbreviateBech32(address: string) {\n const separatorPos = Array.from(address).findIndex((i) => i === '1') + 1\n const prefix = address.substring(0, 2)\n const hrp = address.substring(prefix.length, separatorPos)\n const addressAbbrev = address.substring(\n separatorPos,\n separatorPos + firstChars\n )\n const checksum = address.substr(address.length - lastChars, lastChars)\n return [prefix, hrp, addressAbbrev, '...', checksum]\n}\n\nfunction abbreviateHex(address: string) {\n const prefix = address.substring(0, 2)\n // @ts-ignore\n const hrpLength = NetworkIDToHRP[DEFAULT_NETWORK_ID].length\n const addressFirst = address.substring(\n prefix.length,\n prefix.length + 1 + hrpLength + firstChars\n )\n const addressLast = address.substr(address.length - lastChars, lastChars)\n return [prefix, addressFirst, '...', addressLast]\n}\n\nfunction getNullAddress(id: string, key = ''): IAddress {\n return {\n address: id,\n publicKey: key,\n // P-Chain (excludes X -> P shared memory)\n AVAX_balance: Big(0),\n P_unlocked: Big(0),\n P_lockedStakeable: Big(0),\n P_lockedNotStakeable: Big(0),\n P_staked: Big(0),\n P_utxoIDs: [],\n // X -> P shared memory\n XP_unlocked: Big(0),\n // X-Chain (includes C -> X and P -> X shared memory)\n X_unlocked: Big(0),\n X_locked: Big(0),\n X_assets: [],\n // X -> C shared memory\n XC_unlocked: Big(0),\n }\n}\n\nexport {\n nAvaxToAVAX as toAVAX,\n stringToBig,\n bigToDenomBig,\n bnToBig,\n subnetMap,\n blockchainMap,\n VMMap,\n VMDocumentationMap,\n VMFullNameMap,\n getRandomQuote,\n trimmedLocaleString,\n getPayloadFromUTXO,\n pushPayload,\n foregroundColor,\n backgroundColor,\n abbreviateBech32,\n abbreviateHex,\n getNullAddress,\n}\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavBarMobile.vue?vue&type=style&index=0&id=03a9fdd0&scoped=true&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavBarMobile.vue?vue&type=style&index=0&id=03a9fdd0&scoped=true&lang=scss&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Notifications.vue?vue&type=style&index=0&id=8224f5e4&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Notifications.vue?vue&type=style&index=0&id=8224f5e4&scoped=true&lang=css&\"","import avalanche_go_api from '@/avalanche_go_api'\nimport { ISubnetData } from '@/store/modules/platform/ISubnet'\nimport Blockchain from '@/js/Blockchain'\nimport {\n IValidator,\n IValidatorData,\n IDelegator,\n IDelegatorData,\n IPendingValidatorData,\n IPendingValidator,\n IPendingDelegator,\n IPendingDelegatorData,\n} from '@/store/modules/platform/IValidator'\nimport { AVALANCHE_SUBNET_ID } from '@/store/modules/platform/platform'\n\nexport default class Subnet {\n id: string\n controlKeys: string[]\n threshold: number\n blockchains: Blockchain[]\n validators: IValidator[]\n delegators: IDelegator[]\n pendingValidators: IPendingValidator[]\n pendingDelegators: IPendingDelegator[]\n\n constructor(data: ISubnetData) {\n this.id = data.id\n this.controlKeys = data.controlKeys\n this.threshold = parseInt(data.threshold)\n this.blockchains = []\n this.validators = []\n this.pendingValidators = []\n this.delegators = []\n this.pendingDelegators = []\n }\n\n // TODO: get address details for Platform Keys (https://docs.avax.network/v1.0/en/api/platform/#platformgetaccount)\n\n async updateValidators(endpoint: string) {\n /* ==========================================\n GET DATA FROM SERVICE\n ========================================== */\n const req = {\n jsonrpc: '2.0',\n method: endpoint,\n params: {\n subnetID: this.id,\n },\n id: 1,\n }\n const response = await avalanche_go_api.post('', req)\n\n // console.log(`------------- ${this.id.substring(0,4)} ------------ ${endpoint}`);\n // console.log(\"result: \", response.data.result);\n\n /* ==========================================\n CURRENT VALIDATORS\n ========================================== */\n if (endpoint === 'platform.getCurrentValidators') {\n const validatorsData = response.data.result\n .validators as IValidatorData[]\n let validators: IValidator[] = []\n let delegators: IDelegator[] = []\n\n if (validatorsData.length > 0) {\n // All Subnets\n validators = this.setValidators(validatorsData)\n validators = this.sortByStake(validators, this.id)\n\n // Primary Network Only\n if (this.id === AVALANCHE_SUBNET_ID) {\n validators.forEach((v: IValidator) => {\n if (v.delegators !== null) {\n v.delegators?.forEach((d: IDelegator) =>\n delegators.push(d)\n )\n }\n })\n }\n delegators = this.sortDelegators(delegators)\n }\n\n this.validators = validators\n this.delegators = delegators\n } else if (endpoint === 'platform.getPendingValidators') {\n /* ==========================================\n PENDING VALIDATORS\n ========================================== */\n const pendingValidatorsData = response.data.result\n .validators as IPendingValidatorData[]\n let pendingValidators: IPendingValidator[] = []\n let pendingDelegators: IPendingDelegator[] = []\n\n // All Subnets\n if (pendingValidatorsData.length > 0) {\n pendingValidators = this.setPendingValidators(\n pendingValidatorsData\n )\n }\n\n // Primary Network Only\n if (this.id === AVALANCHE_SUBNET_ID) {\n const pendingDelegatorsData = response.data.result\n .delegators as IPendingValidatorData[]\n if (pendingDelegatorsData.length > 0) {\n pendingDelegators = this.setPendingDelegators(\n pendingDelegatorsData\n )\n }\n }\n\n this.pendingValidators = pendingValidators\n this.pendingDelegators = pendingDelegators\n }\n }\n\n addBlockchain(data: Blockchain) {\n this.blockchains.push(data)\n }\n\n /**\n * Convert API data to validators\n */\n private setValidators(validatorsData: IValidatorData[]): IValidator[] {\n const validators = validatorsData.map((v: IValidatorData) => {\n const validator: IValidator = {\n nodeID: v.nodeID,\n startTime: new Date(parseInt(v.startTime) * 1000),\n endTime: new Date(parseInt(v.endTime) * 1000),\n }\n\n // Primary Network\n if ({}.hasOwnProperty.call(v, 'stakeAmount')) {\n validator.rewardOwner = {\n locktime: parseInt(v.rewardOwner!.locktime),\n threshold: parseInt(v.rewardOwner!.threshold),\n addresses: v.rewardOwner!.addresses,\n }\n validator.potentialReward = parseInt(\n v.potentialReward as string\n )\n validator.stakeAmount = parseInt(v.stakeAmount as string)\n validator.uptime = parseFloat(v.uptime as string) * 100 // percentage\n validator.connected = v.connected\n validator.delegationFee = parseInt(v.delegationFee as string)\n validator.delegators = this.setDelegators(v.delegators!) as\n | IDelegator[]\n | null\n validator.totalStakeAmount = this.calculateTotalStakeAmount(\n validator.delegators,\n validator.stakeAmount\n )\n validator.elapsed = this.getElapsedStakingPeriod(validator)\n }\n // Subnets\n if ({}.hasOwnProperty.call(v, 'weight')) {\n validator.weight = parseInt(v.weight as string)\n }\n return validator\n })\n return validators\n }\n\n /**\n * Convert API data to delegators\n */\n private setDelegators(\n delegatorsData: IDelegatorData[] | null\n ): IDelegator[] | null {\n let delegators = null\n\n if (delegatorsData) {\n delegators = delegatorsData.map((d) => {\n const delegator: IDelegator = {\n nodeID: d.nodeID,\n startTime: new Date(parseInt(d.startTime) * 1000),\n endTime: new Date(parseInt(d.endTime) * 1000),\n rewardOwner: {\n locktime: parseInt(d.rewardOwner.locktime),\n threshold: parseInt(d.rewardOwner.threshold),\n addresses: d.rewardOwner.addresses,\n },\n potentialReward: parseInt(d.potentialReward),\n stakeAmount: parseInt(d.stakeAmount),\n }\n return delegator\n })\n }\n return delegators\n }\n\n /**\n * Convert API data to pending validators\n */\n private setPendingValidators(\n pendingValidatorsData: IPendingValidatorData[]\n ): IPendingValidator[] {\n const pendingValidators = pendingValidatorsData.map(\n (pv: IPendingValidatorData) => {\n const pendingValidator: IPendingValidator = {\n nodeID: pv.nodeID,\n startTime: new Date(parseInt(pv.startTime) * 1000),\n endTime: new Date(parseInt(pv.endTime) * 1000),\n stakeAmount: parseInt(pv.stakeAmount),\n delegators: null,\n }\n\n // Pending Validators - set optional props\n if ({}.hasOwnProperty.call(pv, 'connected')) {\n pendingValidator.connected = pv.connected as boolean\n pendingValidator.delegationFee = parseInt(\n pv.delegationFee as string\n )\n }\n\n return pendingValidator\n }\n )\n return pendingValidators\n }\n\n /**\n * Convert API data to pending delegators\n */\n private setPendingDelegators(\n pendingDelegatorsData: IPendingDelegatorData[] | null\n ): IPendingDelegator[] {\n let pendingDelegators: IPendingDelegator[] = []\n\n if (pendingDelegatorsData) {\n pendingDelegators = pendingDelegatorsData.map((pd) => {\n const pendingDelegator: IPendingDelegator = {\n nodeID: pd.nodeID,\n startTime: new Date(parseInt(pd.startTime) * 1000),\n endTime: new Date(parseInt(pd.endTime) * 1000),\n stakeAmount: parseInt(pd.stakeAmount),\n }\n return pendingDelegator\n })\n }\n return pendingDelegators\n }\n\n /**\n * validated + delegated stake\n */\n private calculateTotalStakeAmount(\n delegators: IDelegator[] | null,\n stakeAmount: number\n ): number {\n let totalStakeAmount = stakeAmount\n\n if (delegators) {\n let delegatedStakeAmount = 0\n delegators.forEach((d) => (delegatedStakeAmount += d.stakeAmount))\n totalStakeAmount += delegatedStakeAmount\n }\n\n return totalStakeAmount\n }\n\n /**\n * Sort by stake or weight and add rank\n */\n private sortByStake(validators: IValidator[], id: string): IValidator[] {\n id === AVALANCHE_SUBNET_ID\n ? validators.sort(\n (a, b) =>\n (b.totalStakeAmount as number) -\n (a.totalStakeAmount as number)\n )\n : validators.sort(\n (a, b) => (b.weight as number) - (a.weight as number)\n )\n validators.forEach((v, i) => (v.rank = i + 1))\n return validators\n }\n\n /**\n * Sort by stake\n */\n private sortDelegators(delegators: IDelegator[]): IDelegator[] {\n return delegators.length > 0\n ? delegators.sort((a, b) => b.stakeAmount - a.stakeAmount)\n : []\n }\n\n /**\n * Elapsed staking period (%)\n */\n private getElapsedStakingPeriod(validator: IValidator): number {\n const currentTime = new Date().getTime()\n const numerator = currentTime - validator.startTime.getTime()\n const denominator =\n validator.endTime.getTime() - validator.startTime.getTime()\n return Math.round((numerator / denominator) * 100)\n }\n}\n","import { IBlockchainData } from '@/store/modules/platform/IBlockchain'\nimport { P, X, C } from '@/known_blockchains'\nimport { profanities } from '@/js/Profanities'\n\nexport default class Blockchain {\n id: string\n name: string\n subnetID: string\n vmID: string\n addressCount?: number | null\n txCount?: number | null\n burned?: number | null\n indexed?: boolean\n profane?: boolean\n\n constructor(data: IBlockchainData) {\n this.id = data.id\n this.name = data.name\n this.subnetID = data.subnetID\n this.vmID = data.vmID\n this.addressCount = null\n this.txCount = null\n this.burned = null\n this.indexed = this.updateIndexed()\n this.profane = false\n this.checkForProfanities(this.name)\n }\n\n private updateIndexed(): boolean {\n switch (this.id) {\n case P.id:\n return true\n case X.id:\n return true\n case C.id:\n return true\n default:\n return false\n }\n }\n private checkForProfanities(value: string): void {\n if (this.profane) {\n return\n }\n this.profane = profanities.screen(value)\n }\n\n public updateAddressCount(value: string | null): void {\n if (!value) return\n this.addressCount = parseInt(value)\n }\n\n public updateTxCount(value: string | null): void {\n if (!value) return\n this.txCount = parseInt(value)\n }\n\n public updateBurned(value: number | null): void {\n if (!value) return\n this.burned = value\n }\n}\n","import api from '@/axios'\nimport { resolveResponseData } from '@/services/helpers'\n\nconst ADDRESS_COUNTS_V2_API_BASE_URL =\n process.env.VUE_APP_ADDRESS_COUNTS_V2_API_BASE_URL\n\nexport function getAddressCounts() {\n return api\n .get(`${ADDRESS_COUNTS_V2_API_BASE_URL}`)\n .then(resolveResponseData)\n}\n","import { Defaults, ONEAVAX } from 'avalanche/dist/utils'\nimport { BN } from 'avalanche/dist'\nimport { avalanche } from '@/avalanche'\nimport Big from 'big.js'\n\nexport function calculateStakingReward(\n amount: BN,\n duration: number,\n currentSupply: BN\n): BN {\n const networkID = avalanche.getNetworkID()\n\n //@ts-ignore\n let defValues = Defaults.network[networkID]\n\n if (!defValues) {\n console.error('Network default values not found.')\n return new BN(0)\n }\n defValues = defValues.P\n\n const {\n maxConsumption,\n minConsumption,\n maxStakingDuration,\n maxSupply,\n } = defValues\n const diffConsumption: number = maxConsumption - minConsumption\n const remainingSupply = maxSupply.sub(currentSupply)\n\n const amtBig = Big(amount.div(ONEAVAX).toString())\n const currentSupplyBig = Big(currentSupply.div(ONEAVAX).toString())\n const remainingSupplyBig = Big(remainingSupply.div(ONEAVAX).toString())\n const portionOfExistingSupplyBig = amtBig.div(currentSupplyBig)\n\n const portionOfStakingDuration: number =\n duration / maxStakingDuration.toNumber()\n const mintingRate: number =\n minConsumption + diffConsumption * portionOfStakingDuration\n\n let rewardBig: Big = remainingSupplyBig.times(portionOfExistingSupplyBig)\n rewardBig = rewardBig.times(Big(mintingRate * portionOfStakingDuration))\n\n const rewardStr = rewardBig.times(Math.pow(10, 9)).toFixed(0)\n const rewardBN = new BN(rewardStr)\n\n return rewardBN\n}\n","import api from '@/axios'\nimport { resolveResponseData } from '@/services/helpers'\n\nconst TRANSACTION_COUNTS_API_BASE_URL =\n process.env.VUE_APP_TRANSACTION_COUNTS_API_BASE_URL\n\nexport function getTxCounts() {\n return api\n .get(`${TRANSACTION_COUNTS_API_BASE_URL}`)\n .then(resolveResponseData)\n}\n","import {\n DEFAULT_NETWORK_ID,\n ethereumAPI,\n ethereumAPI_test,\n} from '@/store/modules/network/network.ts'\n\nconst BURNED_URL = DEFAULT_NETWORK_ID === 1 ? ethereumAPI : ethereumAPI_test\n\n/**\n * get burned AVAX for the C-chain\n */\nexport async function getBurnedC() {\n return await fetch(BURNED_URL, {\n method: 'POST',\n mode: 'cors',\n cache: 'no-cache',\n credentials: 'same-origin',\n headers: {\n 'Content-Type': 'application/json',\n },\n redirect: 'follow',\n referrerPolicy: 'no-referrer',\n body: JSON.stringify({\n jsonrpc: '2.0',\n method: 'eth_getBalance',\n params: ['0x0100000000000000000000000000000000000000', 'latest'],\n id: 1,\n }),\n })\n .then((response) => response.json())\n .then((data) => {\n return parseInt(data.result) / Math.pow(10, 18)\n })\n}\n","import Vue from 'vue'\nimport { Module } from 'vuex'\nimport BN from 'bn.js'\nimport { IRootState } from '@/store/types'\nimport { PlatformState } from './models'\nimport { platform } from '@/avalanche'\nimport Subnet from '@/js/Subnet'\nimport { ISubnetData } from './ISubnet'\nimport { IBlockchainData } from './IBlockchain'\nimport Blockchain from '@/js/Blockchain'\nimport { C, P } from '@/known_blockchains'\nimport { getAddressCounts } from '@/services/addressCounts/addressCounts.service'\nimport { AddressCount } from '@/services/addressCounts/models'\nimport { calculateStakingReward } from './helpers'\nimport { getTxCounts } from '@/services/transactionCounts/transactionCounts.service'\nimport { TxCount } from '@/services/transactionCounts/models'\nimport { getBurnedC } from '@/services/burned/burned.service'\n\nexport const AVALANCHE_SUBNET_ID = P.id\n\nconst platform_module: Module = {\n namespaced: true,\n state: {\n subnets: {},\n blockchains: [],\n subnetsLoaded: false,\n currentSupply: new BN(0),\n minStake: new BN(0),\n annualStakingRewardPercentage: 0,\n },\n mutations: {\n setCurrentSupply(state, currentSupply: BN) {\n state.currentSupply = currentSupply\n },\n setSubnet(state, s) {\n Vue.set(state.subnets, s.id, s)\n },\n finishLoading(state) {\n state.subnetsLoaded = true\n },\n updateChains(state, blockchains: Blockchain[]) {\n state.blockchains = blockchains\n },\n setAnnualStakingRewardPercentage(state, APR: number) {\n state.annualStakingRewardPercentage = APR\n },\n },\n actions: {\n async init({ dispatch }) {\n await dispatch('updateCurrentSupply')\n await dispatch('updateAnnualStakingRewardPercentage')\n await dispatch('getSubnets')\n dispatch('updateAddressCounts')\n dispatch('updateTxCounts')\n dispatch('updateBurned')\n },\n\n async getSubnets({ state, commit }) {\n // Get subnets and init classes\n const subnets = ((await platform.getSubnets()) as ISubnetData[]).map(\n (s: ISubnetData) => new Subnet(s)\n )\n\n // Get and set validators for each subnet\n subnets.forEach((s) => {\n s.updateValidators('platform.getCurrentValidators')\n s.updateValidators('platform.getPendingValidators')\n commit('setSubnet', s)\n })\n\n // Get blockchains and init classes\n state.blockchains = ((await platform.getBlockchains()) as IBlockchainData[]).map(\n (b: IBlockchainData) => new Blockchain(b)\n )\n\n // Add P-Chain manually\n const pChain = new Blockchain({\n name: P.name,\n id: AVALANCHE_SUBNET_ID,\n subnetID: AVALANCHE_SUBNET_ID,\n vmID: '',\n })\n state.blockchains.unshift(pChain)\n\n // Map blockchains to their subnet\n state.blockchains.forEach((b) => {\n const subnetID = b.subnetID\n try {\n state.subnets[subnetID].addBlockchain(b)\n } catch (err) {\n console.log(err)\n }\n })\n\n state.subnetsLoaded = true\n },\n\n async updateCurrentSupply({ commit }) {\n commit('setCurrentSupply', await platform.getCurrentSupply())\n },\n\n async updateMinStakeAmount({ state }) {\n state.minStake = (\n await platform.getMinStake(true)\n ).minValidatorStake\n },\n\n async updateAddressCounts({ state, commit }) {\n const res = await getAddressCounts()\n const updates = state.blockchains.map((chain: Blockchain) => {\n const toUpdate = chain\n const addressCount = res.find(\n (addressCount: AddressCount) =>\n addressCount.chainID === toUpdate.id\n )\n if (addressCount) {\n toUpdate.updateAddressCount(addressCount.total)\n }\n return toUpdate\n })\n commit('updateChains', updates)\n },\n\n async updateTxCounts({ state, commit }) {\n const res = await getTxCounts()\n const updates = state.blockchains.map((chain: Blockchain) => {\n const toUpdate = chain\n const txCount = res.find(\n (txCount: TxCount) => txCount.chainID === toUpdate.id\n )\n if (txCount) {\n toUpdate.updateTxCount(txCount.total)\n }\n return toUpdate\n })\n commit('updateChains', updates)\n },\n\n async updateBurned({ state, commit }) {\n const res = await getBurnedC()\n const updates = state.blockchains.map((chain: Blockchain) => {\n const toUpdate = chain\n if (chain.id === C.id) {\n toUpdate.updateBurned(res)\n }\n return toUpdate\n })\n commit('updateChains', updates)\n },\n\n async updateAnnualStakingRewardPercentage({ state, commit }) {\n const ONE_YEAR_SECONDS = 60 * 60 * 24 * 365\n const currentSupply = state.currentSupply\n const reward = calculateStakingReward(\n currentSupply,\n ONE_YEAR_SECONDS,\n currentSupply\n )\n // convert 'nAVAX BNs' to 'AVAX numbers' since BN arithmetic is buggy\n const currentSupplyAVAX = currentSupply\n .div(new BN(Math.pow(10, 9)))\n .toNumber()\n const rewardAVAX = reward.div(new BN(Math.pow(10, 9))).toNumber()\n const APR = (rewardAVAX / currentSupplyAVAX) * 100\n commit('setAnnualStakingRewardPercentage', APR)\n },\n },\n}\n\nexport default platform_module\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEwAAAB1CAYAAADk4gdOAAAACXBIWXMAAAsTAAALEwEAmpwYAAAF6WlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNi4wLWMwMDYgNzkuMTY0NzUzLCAyMDIxLzAyLzE1LTExOjUyOjEzICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjEuMiAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjAtMDktMTlUMTc6NTg6MjctMDQ6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDIxLTA1LTI1VDEwOjQxOjIzLTA0OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDIxLTA1LTI1VDEwOjQxOjIzLTA0OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4xIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjI2MTQzYjQ4LTNkN2MtNDZjNS1hODNkLTA3MWRlODEyMDM4YyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDplNzRmZGQ2Ny02ODFiLTQ2OWMtYjk3MC0yZTA3ZWE0YmNiYzciIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDplNzRmZGQ2Ny02ODFiLTQ2OWMtYjk3MC0yZTA3ZWE0YmNiYzciPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjcmVhdGVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOmU3NGZkZDY3LTY4MWItNDY5Yy1iOTcwLTJlMDdlYTRiY2JjNyIgc3RFdnQ6d2hlbj0iMjAyMC0wOS0xOVQxNzo1ODoyNy0wNDowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDIxLjIgKE1hY2ludG9zaCkiLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjI2MTQzYjQ4LTNkN2MtNDZjNS1hODNkLTA3MWRlODEyMDM4YyIgc3RFdnQ6d2hlbj0iMjAyMS0wNS0yNVQxMDo0MToyMy0wNDowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDIyLjMgKE1hY2ludG9zaCkiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPC9yZGY6U2VxPiA8L3htcE1NOkhpc3Rvcnk+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+2hXAsQAACTZJREFUeJztnTFMG8kax/8zew0SIJ9EFVP4rgppnu+KIKrjBZQywqROeO/KKMDddcFFyCsI3fGCRRsiOS3ckZZwvC4kisI1CRJSjORYKcMjkaIo8n6vYBc5vrX5vtmZ3UV6P8kF9s63w1+zn//fzOxa4eyT01pPASgCABH9Vym17fv+b6n2KotorW9rrd9prSniVQuE/D8AoJS630Go9tfttPuaOsHI4ohFWmvyPG807T6nhtZ6QiJW8Poj7X6nglKqEOQmqWCklCra6IO2ESQplFJ/ACiYtCWi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\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavBar.vue?vue&type=style&index=0&id=6113305d&scoped=true&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavBar.vue?vue&type=style&index=0&id=6113305d&scoped=true&lang=scss&\"","module.exports = \"data:image/png;base64,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\"","var map = {\n\t\"./explorer_logo_black.png\": \"0f85\",\n\t\"./explorer_logo_white.png\": \"fcf4\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"285c\";","export * from './price.service'\nexport * from './models'\n","import { txTypeMap, TxType } from '@/store/modules/transactions/maps'\nexport interface ChainMap {\n id: string\n name: string\n fullname: string\n code: string\n color: string\n darkColor: string\n txTypes: [string, TxType][]\n}\n\ninterface BlockchainDict {\n [key: string]: ChainMap\n}\n\nconst DEFAULT_NETWORK_ID = parseInt(\n process.env.VUE_APP_DEFAULT_NETWORKID || '4'\n)\n\nexport function isMainnetNetwork() {\n return DEFAULT_NETWORK_ID === 1\n}\n\nexport const P: ChainMap = {\n id: (isMainnetNetwork()\n ? process.env.VUE_APP_PCHAINID\n : process.env.VUE_APP_TEST_PCHAINID) as string,\n name: 'P-Chain',\n fullname: 'Platform',\n code: 'P',\n color: '#F19100',\n darkColor: '#FFF8EE',\n txTypes: [\n ['add_validator', txTypeMap.get('add_validator')!],\n ['add_subnet_validator', txTypeMap.get('add_subnet_validator')!],\n ['add_delegator', txTypeMap.get('add_delegator')!],\n ['create_subnet', txTypeMap.get('create_subnet')!],\n ['create_chain', txTypeMap.get('create_chain')!],\n ['pvm_export', txTypeMap.get('pvm_export')!],\n ['pvm_import', txTypeMap.get('pvm_import')!],\n ],\n}\n\nexport const X: ChainMap = {\n id: (isMainnetNetwork()\n ? process.env.VUE_APP_XCHAINID\n : process.env.VUE_APP_TEST_XCHAINID) as string,\n name: 'X-Chain',\n fullname: 'Exchange',\n code: 'X',\n color: '#005FED',\n darkColor: '#EFF7FF',\n txTypes: [\n ['base', txTypeMap.get('base')!],\n ['create_asset', txTypeMap.get('create_asset')!],\n ['operation', txTypeMap.get('operation')!],\n ['import', txTypeMap.get('import')!],\n ['export', txTypeMap.get('export')!],\n ],\n}\n\nexport const C: ChainMap = {\n id: (isMainnetNetwork()\n ? process.env.VUE_APP_CCHAINID\n : process.env.VUE_APP_TEST_CCHAINID) as string,\n name: 'C-Chain',\n fullname: 'Contract',\n code: 'C',\n color: '#088223',\n darkColor: '#F6FFF6',\n txTypes: [\n ['atomic_import_tx', txTypeMap.get('atomic_import_tx')!],\n ['atomic_export_tx', txTypeMap.get('atomic_export_tx')!],\n ],\n}\n\nconst dict: BlockchainDict = {}\n\ndict[P.id] = P\ndict[X.id] = X\ndict[C.id] = C\n\nexport default dict\n\nexport const txChainTypeMap = new Map([\n [C.id, C],\n [P.id, P],\n [X.id, X],\n])\n\nexport function getTxChainType(type: string) {\n return txChainTypeMap.get(type)\n}\n","var map = {\n\t\"./af\": \"2bfb\",\n\t\"./af.js\": \"2bfb\",\n\t\"./ar\": \"8e73\",\n\t\"./ar-dz\": \"a356\",\n\t\"./ar-dz.js\": \"a356\",\n\t\"./ar-kw\": \"423e\",\n\t\"./ar-kw.js\": \"423e\",\n\t\"./ar-ly\": \"1cfd\",\n\t\"./ar-ly.js\": \"1cfd\",\n\t\"./ar-ma\": \"0a84\",\n\t\"./ar-ma.js\": \"0a84\",\n\t\"./ar-sa\": \"8230\",\n\t\"./ar-sa.js\": \"8230\",\n\t\"./ar-tn\": \"6d83\",\n\t\"./ar-tn.js\": \"6d83\",\n\t\"./ar.js\": \"8e73\",\n\t\"./az\": \"485c\",\n\t\"./az.js\": \"485c\",\n\t\"./be\": \"1fc1\",\n\t\"./be.js\": \"1fc1\",\n\t\"./bg\": \"84aa\",\n\t\"./bg.js\": \"84aa\",\n\t\"./bm\": \"a7fa\",\n\t\"./bm.js\": \"a7fa\",\n\t\"./bn\": \"9043\",\n\t\"./bn.js\": \"9043\",\n\t\"./bo\": \"d26a\",\n\t\"./bo.js\": \"d26a\",\n\t\"./br\": \"6887\",\n\t\"./br.js\": \"6887\",\n\t\"./bs\": \"2554\",\n\t\"./bs.js\": \"2554\",\n\t\"./ca\": \"d716\",\n\t\"./ca.js\": \"d716\",\n\t\"./cs\": \"3c0d\",\n\t\"./cs.js\": \"3c0d\",\n\t\"./cv\": \"03ec\",\n\t\"./cv.js\": \"03ec\",\n\t\"./cy\": \"9797\",\n\t\"./cy.js\": \"9797\",\n\t\"./da\": \"0f14\",\n\t\"./da.js\": \"0f14\",\n\t\"./de\": \"b469\",\n\t\"./de-at\": \"b3eb\",\n\t\"./de-at.js\": \"b3eb\",\n\t\"./de-ch\": \"bb71\",\n\t\"./de-ch.js\": \"bb71\",\n\t\"./de.js\": \"b469\",\n\t\"./dv\": \"598a\",\n\t\"./dv.js\": \"598a\",\n\t\"./el\": \"8d47\",\n\t\"./el.js\": \"8d47\",\n\t\"./en-SG\": \"cdab\",\n\t\"./en-SG.js\": \"cdab\",\n\t\"./en-au\": \"0e6b\",\n\t\"./en-au.js\": \"0e6b\",\n\t\"./en-ca\": \"3886\",\n\t\"./en-ca.js\": \"3886\",\n\t\"./en-gb\": \"39a6\",\n\t\"./en-gb.js\": \"39a6\",\n\t\"./en-ie\": \"e1d3\",\n\t\"./en-ie.js\": \"e1d3\",\n\t\"./en-il\": \"7333\",\n\t\"./en-il.js\": \"7333\",\n\t\"./en-nz\": \"6f50\",\n\t\"./en-nz.js\": \"6f50\",\n\t\"./eo\": \"65db\",\n\t\"./eo.js\": \"65db\",\n\t\"./es\": \"898b\",\n\t\"./es-do\": \"0a3c\",\n\t\"./es-do.js\": \"0a3c\",\n\t\"./es-us\": \"55c9\",\n\t\"./es-us.js\": \"55c9\",\n\t\"./es.js\": \"898b\",\n\t\"./et\": \"ec18\",\n\t\"./et.js\": \"ec18\",\n\t\"./eu\": \"0ff2\",\n\t\"./eu.js\": \"0ff2\",\n\t\"./fa\": \"8df4\",\n\t\"./fa.js\": \"8df4\",\n\t\"./fi\": \"81e9\",\n\t\"./fi.js\": \"81e9\",\n\t\"./fo\": \"0721\",\n\t\"./fo.js\": \"0721\",\n\t\"./fr\": \"9f26\",\n\t\"./fr-ca\": \"d9f8\",\n\t\"./fr-ca.js\": \"d9f8\",\n\t\"./fr-ch\": \"0e49\",\n\t\"./fr-ch.js\": \"0e49\",\n\t\"./fr.js\": \"9f26\",\n\t\"./fy\": \"7118\",\n\t\"./fy.js\": \"7118\",\n\t\"./ga\": \"5120\",\n\t\"./ga.js\": \"5120\",\n\t\"./gd\": \"f6b4\",\n\t\"./gd.js\": \"f6b4\",\n\t\"./gl\": \"8840\",\n\t\"./gl.js\": \"8840\",\n\t\"./gom-latn\": \"0caa\",\n\t\"./gom-latn.js\": \"0caa\",\n\t\"./gu\": \"e0c5\",\n\t\"./gu.js\": \"e0c5\",\n\t\"./he\": \"c7aa\",\n\t\"./he.js\": \"c7aa\",\n\t\"./hi\": \"dc4d\",\n\t\"./hi.js\": \"dc4d\",\n\t\"./hr\": \"4ba9\",\n\t\"./hr.js\": \"4ba9\",\n\t\"./hu\": \"5b14\",\n\t\"./hu.js\": \"5b14\",\n\t\"./hy-am\": \"d6b6\",\n\t\"./hy-am.js\": \"d6b6\",\n\t\"./id\": \"5038\",\n\t\"./id.js\": \"5038\",\n\t\"./is\": \"0558\",\n\t\"./is.js\": \"0558\",\n\t\"./it\": \"6e98\",\n\t\"./it-ch\": \"6f12\",\n\t\"./it-ch.js\": \"6f12\",\n\t\"./it.js\": \"6e98\",\n\t\"./ja\": \"079e\",\n\t\"./ja.js\": \"079e\",\n\t\"./jv\": \"b540\",\n\t\"./jv.js\": \"b540\",\n\t\"./ka\": \"201b\",\n\t\"./ka.js\": \"201b\",\n\t\"./kk\": \"6d79\",\n\t\"./kk.js\": \"6d79\",\n\t\"./km\": \"e81d\",\n\t\"./km.js\": \"e81d\",\n\t\"./kn\": \"3e92\",\n\t\"./kn.js\": \"3e92\",\n\t\"./ko\": \"22f8\",\n\t\"./ko.js\": \"22f8\",\n\t\"./ku\": \"2421\",\n\t\"./ku.js\": \"2421\",\n\t\"./ky\": \"9609\",\n\t\"./ky.js\": \"9609\",\n\t\"./lb\": \"440c\",\n\t\"./lb.js\": \"440c\",\n\t\"./lo\": \"b29d\",\n\t\"./lo.js\": \"b29d\",\n\t\"./lt\": \"26f9\",\n\t\"./lt.js\": \"26f9\",\n\t\"./lv\": \"b97c\",\n\t\"./lv.js\": \"b97c\",\n\t\"./me\": \"293c\",\n\t\"./me.js\": \"293c\",\n\t\"./mi\": \"688b\",\n\t\"./mi.js\": \"688b\",\n\t\"./mk\": \"6909\",\n\t\"./mk.js\": \"6909\",\n\t\"./ml\": \"02fb\",\n\t\"./ml.js\": \"02fb\",\n\t\"./mn\": \"958b\",\n\t\"./mn.js\": \"958b\",\n\t\"./mr\": \"39bd\",\n\t\"./mr.js\": \"39bd\",\n\t\"./ms\": \"ebe4\",\n\t\"./ms-my\": \"6403\",\n\t\"./ms-my.js\": \"6403\",\n\t\"./ms.js\": \"ebe4\",\n\t\"./mt\": \"1b45\",\n\t\"./mt.js\": \"1b45\",\n\t\"./my\": \"8689\",\n\t\"./my.js\": \"8689\",\n\t\"./nb\": \"6ce3\",\n\t\"./nb.js\": \"6ce3\",\n\t\"./ne\": \"3a39\",\n\t\"./ne.js\": \"3a39\",\n\t\"./nl\": \"facd\",\n\t\"./nl-be\": \"db29\",\n\t\"./nl-be.js\": \"db29\",\n\t\"./nl.js\": \"facd\",\n\t\"./nn\": \"b84c\",\n\t\"./nn.js\": \"b84c\",\n\t\"./pa-in\": \"f3ff\",\n\t\"./pa-in.js\": \"f3ff\",\n\t\"./pl\": \"8d57\",\n\t\"./pl.js\": \"8d57\",\n\t\"./pt\": \"f260\",\n\t\"./pt-br\": \"d2d4\",\n\t\"./pt-br.js\": \"d2d4\",\n\t\"./pt.js\": \"f260\",\n\t\"./ro\": \"972c\",\n\t\"./ro.js\": \"972c\",\n\t\"./ru\": \"957c\",\n\t\"./ru.js\": \"957c\",\n\t\"./sd\": \"6784\",\n\t\"./sd.js\": \"6784\",\n\t\"./se\": \"ffff\",\n\t\"./se.js\": \"ffff\",\n\t\"./si\": \"eda5\",\n\t\"./si.js\": \"eda5\",\n\t\"./sk\": \"7be6\",\n\t\"./sk.js\": \"7be6\",\n\t\"./sl\": \"8155\",\n\t\"./sl.js\": \"8155\",\n\t\"./sq\": \"c8f3\",\n\t\"./sq.js\": \"c8f3\",\n\t\"./sr\": \"cf1e\",\n\t\"./sr-cyrl\": \"13e9\",\n\t\"./sr-cyrl.js\": \"13e9\",\n\t\"./sr.js\": \"cf1e\",\n\t\"./ss\": \"52bd\",\n\t\"./ss.js\": \"52bd\",\n\t\"./sv\": \"5fbd\",\n\t\"./sv.js\": \"5fbd\",\n\t\"./sw\": \"74dc\",\n\t\"./sw.js\": \"74dc\",\n\t\"./ta\": \"3de5\",\n\t\"./ta.js\": \"3de5\",\n\t\"./te\": \"5cbb\",\n\t\"./te.js\": \"5cbb\",\n\t\"./tet\": \"576c\",\n\t\"./tet.js\": \"576c\",\n\t\"./tg\": \"3b1b\",\n\t\"./tg.js\": \"3b1b\",\n\t\"./th\": \"10e8\",\n\t\"./th.js\": \"10e8\",\n\t\"./tl-ph\": \"0f38\",\n\t\"./tl-ph.js\": \"0f38\",\n\t\"./tlh\": \"cf75\",\n\t\"./tlh.js\": \"cf75\",\n\t\"./tr\": \"0e81\",\n\t\"./tr.js\": \"0e81\",\n\t\"./tzl\": \"cf51\",\n\t\"./tzl.js\": \"cf51\",\n\t\"./tzm\": \"c109\",\n\t\"./tzm-latn\": \"b53d\",\n\t\"./tzm-latn.js\": \"b53d\",\n\t\"./tzm.js\": \"c109\",\n\t\"./ug-cn\": \"6117\",\n\t\"./ug-cn.js\": \"6117\",\n\t\"./uk\": \"ada2\",\n\t\"./uk.js\": \"ada2\",\n\t\"./ur\": \"5294\",\n\t\"./ur.js\": \"5294\",\n\t\"./uz\": \"2e8c\",\n\t\"./uz-latn\": \"010e\",\n\t\"./uz-latn.js\": \"010e\",\n\t\"./uz.js\": \"2e8c\",\n\t\"./vi\": \"2921\",\n\t\"./vi.js\": \"2921\",\n\t\"./x-pseudo\": \"fd7e\",\n\t\"./x-pseudo.js\": \"fd7e\",\n\t\"./yo\": \"7f33\",\n\t\"./yo.js\": \"7f33\",\n\t\"./zh-cn\": \"5c3a\",\n\t\"./zh-cn.js\": \"5c3a\",\n\t\"./zh-hk\": \"49ab\",\n\t\"./zh-hk.js\": \"49ab\",\n\t\"./zh-tw\": \"90ea\",\n\t\"./zh-tw.js\": \"90ea\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"4678\";","var map = {\n\t\"./network_on_primary.png\": \"1f7d\",\n\t\"./network_on_white.png\": \"4b70\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"46a7\";","export interface IAsset {\n aggregates: any\n alias: string\n chainID: string\n currentSupply: string\n denomination: number\n id: string\n name: string\n nft: number\n symbol: string\n timestamp: string\n variableCap: number\n}\n\nexport enum AssetType {\n VARIABLE_CAP = 'Variable Cap',\n FIXED_CAP = 'Fixed Cap',\n NFT = 'Non-Fungible Token (NFT)',\n}\n","import api from '@/axios'\nimport { resolveResponseData } from '@/services/helpers'\n\nconst ASSETS_V2_API_BASE_URL = process.env.VUE_APP_ASSETS_V2_API_BASE_URL\n\nconst CACHE_ASSETS_V2_API_BASE_URL =\n process.env.VUE_APP_CACHE_ASSETS_V2_API_BASE_URL\n\nexport function getAssetInfo(id: string) {\n return api.get(`${ASSETS_V2_API_BASE_URL}/${id}`).then(resolveResponseData)\n}\n\nexport function getCacheAssets() {\n return api.get(`${CACHE_ASSETS_V2_API_BASE_URL}`).then(resolveResponseData)\n}\n","import { AssetType, IAsset } from './models'\n\nexport function getAssetType(asset: IAsset) {\n return asset.nft\n ? AssetType.NFT\n : asset.variableCap\n ? AssetType.VARIABLE_CAP\n : AssetType.FIXED_CAP\n}\n","var map = {\n\t\"./network_off_primary.png\": \"2403\",\n\t\"./network_off_white.png\": \"7de3\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"4872\";","import { Vue, Component } from 'vue-property-decorator'\nimport {\n getTotalValidators,\n getTotalPendingValidators,\n getTotalStake,\n getTotalPendingStake,\n getCumulativeStake,\n getCumulativePendingStake,\n getTotalBlockchains,\n getStakingRatio,\n} from './platform.getters'\n\n@Component\nexport class PlatformGettersMixin extends Vue {\n getTotalValidators() {\n return getTotalValidators()\n }\n\n getTotalPendingValidators() {\n return getTotalPendingValidators()\n }\n\n getTotalStake() {\n return getTotalStake()\n }\n\n getTotalPendingStake() {\n return getTotalPendingStake()\n }\n\n getCumulativeStake() {\n return getCumulativeStake()\n }\n\n getCumulativePendingStake() {\n return getCumulativePendingStake()\n }\n\n getTotalBlockchains() {\n return getTotalBlockchains()\n }\n\n getStakingRatio() {\n return getStakingRatio()\n }\n}\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEwAAAB1CAQAAABO68/FAAAACXBIWXMAAAsTAAALEwEAmpwYAAAF8mlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNi4wLWMwMDIgNzkuMTY0NDYwLCAyMDIwLzA1LzEyLTE2OjA0OjE3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjEuMiAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjAtMDktMTlUMTc6NTg6MjctMDQ6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDIwLTA5LTIxVDEwOjQxOjMyLTA0OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDIwLTA5LTIxVDEwOjQxOjMyLTA0OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMSIgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9IkRvdCBHYWluIDIwJSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpiYTVlOWZlMC1hYzE0LTQ2ZTktYmQ0YS1hNDIxMTg4OTlmNjIiIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo1YWZkZDRhYS1mYjI5LWY4NDktYmU4Ni0xMWZmYmM3MTUzMzkiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo3MDgxMjVlNC03MGQxLTQ3MTQtODY0MS1kY2I5N2Y5Y2VkNzQiPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjcmVhdGVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjcwODEyNWU0LTcwZDEtNDcxNC04NjQxLWRjYjk3ZjljZWQ3NCIgc3RFdnQ6d2hlbj0iMjAyMC0wOS0xOVQxNzo1ODoyNy0wNDowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDIxLjIgKE1hY2ludG9zaCkiLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOmJhNWU5ZmUwLWFjMTQtNDZlOS1iZDRhLWE0MjExODg5OWY2MiIgc3RFdnQ6d2hlbj0iMjAyMC0wOS0yMVQxMDo0MTozMi0wNDowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDIxLjIgKE1hY2ludG9zaCkiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPC9yZGY6U2VxPiA8L3htcE1NOkhpc3Rvcnk+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+vvvrHgAACX5JREFUeJy1XH+IHFcd/7xtbKmQ27kotFRj5lqLouhtGkzRxvQS0P5RSNcgKVchd40ghahJkwhCS3a3oGCJ3NUSUTHcXaAEgriTQBGKeKu0QoPHbfoD9Q+7d2c5jJDbmfWPcH90n3/Mzsx7b75v5s3s7Oc4bubN+/HZ7/u+7/f7vm/2GMdo0bP4DCoc8NCynAwN+Uh/3Fq32+XhT6c7Y9qSjVJi7gJmY4V1q2HSdoTE3Brq5INDViu99ciIuVXWVPtm4ADQsg6ltx8RMc/my7C1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\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddressResult.vue?vue&type=style&index=0&id=6785f14e&scoped=true&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddressResult.vue?vue&type=style&index=0&id=6785f14e&scoped=true&lang=scss&\"","let network_id = 0\n\nexport default class Network {\n id: number // used for FE unique key\n protocol: string\n ip: string\n port: number\n networkId: number\n name: string\n\n chainId: string\n url: string\n\n explorerUrl: string | undefined\n explorerFEUrl: string\n\n constructor(\n name: string,\n url: string,\n networkId: number,\n chainId: string,\n explorerUrl?: string,\n explorerFEUrl?: string\n ) {\n this.protocol = 'http'\n this.ip = 'localhost'\n this.port = 9650\n\n this.id = network_id++\n this.name = name\n this.networkId = networkId\n this.chainId = chainId\n\n this.url = url\n this.updateURL(url)\n\n this.explorerUrl = explorerUrl\n this.explorerFEUrl = explorerFEUrl || ''\n }\n\n public updateURL(url: string): void {\n // parse the url\n const split: string[] = url.split('://')\n\n // parse protocol\n this.protocol = split[0]\n\n // parse port\n if (split[1].includes(':')) {\n // if the URL contains a port setting\n const urlSplit: string[] = split[1].split(':')\n const ip: string = urlSplit[0]\n const port: string = urlSplit[1]\n this.ip = ip\n this.port = parseInt(port)\n } else {\n this.ip = split[1]\n if (this.protocol === 'http') {\n this.port = 80\n } else {\n this.port = 443\n }\n }\n }\n public getFullURL(): string {\n return `${this.protocol}://${this.ip}:${this.port}`\n }\n}\n","import { Module } from 'vuex'\nimport { IRootState } from '@/store/types'\nimport { INetworkState } from '@/store/modules/network/types'\nimport { avalanche } from '@/avalanche'\nimport Network from '@/js/Network'\nimport axios from '@/axios'\n\nexport const DEFAULT_NETWORK_ID = parseInt(\n process.env.VUE_APP_DEFAULT_NETWORKID || '1'\n)\nexport const DEFAULT_NETWORK_NAME =\n DEFAULT_NETWORK_ID === 1\n ? (process.env.VUE_APP_NETWORKNAME as string)\n : (process.env.VUE_APP_TEST_NETWORKNAME as string)\n\n// Mainnet\nconst networkName = process.env.VUE_APP_NETWORKNAME\nconst explorerFEUrl = process.env.VUE_APP_EXPLORER_FE_URL || ''\nconst orteliusURL = process.env.VUE_APP_ORTELIUS_URL || ''\nexport const ethereumAPI = process.env.VUE_APP_AVALANCHE_GO_ETH_URL || ''\nexport const peerInfoURL = process.env.VUE_APP_PEER_INFO_URL || ''\nconst avalancheJSProtocol = process.env.VUE_APP_AVALANCHE_JS_PROTOCOL || ''\nconst avalancheJSIP = process.env.VUE_APP_AVALANCHE_JS_IP || ''\nconst avalancheJSPort = parseInt(process.env.VUE_APP_AVALANCHE_JS_PORT || '443')\nconst avalancheJSNetworkID = parseInt(\n process.env.VUE_APP_AVALANCHE_JS_NETWORKID || '1'\n)\nconst avalancheJSChainID = process.env.VUE_APP_AVALANCHE_JS_CHAINID || 'X'\nexport const cChainExplorerURL = process.env.VUE_APP_CCHAIN_EXPLORER_URL || ''\nexport const statusURL = process.env.VUE_APP_STATUS_URL || ''\n\n// Testnet\nconst networkName_test = process.env.VUE_APP_TEST_NETWORKNAME || ''\nconst explorerFEUrl_test = process.env.VUE_APP_TEST_EXPLORER_FE_URL || ''\nconst orteliusURL_test = process.env.VUE_APP_TEST_ORTELIUS_URL || ''\nexport const ethereumAPI_test =\n process.env.VUE_APP_TEST_AVALANCHE_GO_ETH_URL || ''\nexport const peerInfoURL_test = process.env.VUE_APP_TEST_PEER_INFO_URL || ''\nconst avalancheJSProtocol_test =\n process.env.VUE_APP_TEST_AVALANCHE_JS_PROTOCOL || ''\nconst avalancheJSIP_test = process.env.VUE_APP_TEST_AVALANCHE_JS_IP || ''\nconst avalancheJSPort_test = parseInt(\n process.env.VUE_APP_TEST_AVALANCHE_JS_PORT || '443'\n)\nconst avalancheJSNetworkID_test = parseInt(\n process.env.VUE_APP_TEST_AVALANCHE_JS_NETWORKID || '5'\n)\nconst avalancheJSChainID_test =\n process.env.VUE_APP_TEST_AVALANCHE_JS_CHAINID || ''\nexport const cChainExplorerURL_test =\n process.env.VUE_APP_TEST_CCHAIN_EXPLORER_URL || ''\nexport const statusURL_test = process.env.VUE_APP_TEST_STATUS_URL || ''\n\nconst network_module: Module = {\n namespaced: true,\n state: {\n status: 'disconnected', // disconnected | connecting | connected\n networks: [],\n selectedNetwork: null,\n },\n mutations: {\n addNetwork(state, net: Network) {\n state.networks.push(net)\n },\n },\n actions: {\n async init({ state, commit, dispatch }) {\n const mainnet = new Network(\n `${networkName} Mainnet`,\n `${avalancheJSProtocol}://${avalancheJSIP}:${avalancheJSPort}`,\n avalancheJSNetworkID,\n avalancheJSChainID,\n orteliusURL,\n explorerFEUrl\n )\n const testnet = new Network(\n `${networkName_test} Testnet`,\n `${avalancheJSProtocol_test}://${avalancheJSIP_test}:${avalancheJSPort_test}`,\n avalancheJSNetworkID_test,\n avalancheJSChainID_test,\n orteliusURL_test,\n explorerFEUrl_test\n )\n\n await commit('addNetwork', mainnet)\n await commit('addNetwork', testnet)\n\n // initialize selected network\n try {\n const defaultNetwork = state.networks.find(\n (network: Network) =>\n network.networkId === DEFAULT_NETWORK_ID\n )\n await dispatch('setNetwork', defaultNetwork)\n return true\n } catch (e) {\n console.log(e)\n state.status = 'disconnected'\n }\n },\n async setNetwork({ state }, net: Network): Promise {\n // Query the network to get network id\n state.status = 'connecting'\n avalanche.setAddress(net.ip, net.port, net.protocol)\n avalanche.setNetworkID(net.networkId)\n avalanche.XChain().refreshBlockchainID()\n\n state.selectedNetwork = net\n axios.defaults.baseURL = net.explorerUrl\n\n state.status = 'connected'\n return true\n },\n },\n}\n\nexport default network_module\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=style&index=0&id=238a921e&scoped=true&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=style&index=0&id=238a921e&scoped=true&lang=scss&\"","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=1&lang=scss&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=1&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchBarMobile.vue?vue&type=style&index=0&id=5db72128&scoped=true&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchBarMobile.vue?vue&type=style&index=0&id=5db72128&scoped=true&lang=scss&\"","import axios from 'axios'\n\nconst COINGECKO_URL = process.env.VUE_APP_COINGECKO_URL\n\nexport default axios.create({\n baseURL: COINGECKO_URL,\n withCredentials: false,\n headers: {\n 'Content-Type': 'application/json',\n },\n})\n","import api from '@/price'\nimport { resolveResponseData } from '@/services/helpers'\nimport qs from 'qs'\n\nconst PRICE_API_URL = process.env.VUE_APP_PRICE_API_URL\n\nexport interface PriceParams {\n ids: string[]\n vs_currencies: string[]\n category?: string\n order?: string\n per_page?: number\n page?: number\n sparkline?: boolean\n price_change_percentage?: string\n}\n\nexport function getPrices(params?: PriceParams) {\n return api\n .get(`${PRICE_API_URL}`, {\n params,\n paramsSerializer: (params) =>\n qs.stringify(params, { arrayFormat: 'comma', encode: false }),\n })\n .then(resolveResponseData)\n}\n","import { Transaction } from '@/js/Transaction'\nimport Big from 'big.js'\n\nexport interface TransactionsState {\n tx: Transaction | null\n txRes: TransactionQuery\n recentTxRes: TransactionQuery\n assetTxRes: TransactionQuery\n addressTxRes: TransactionQuery\n blockchainTxRes: TransactionQuery\n evmTx: EVMTransactionResponse | null\n}\n\n/* ==========================================\n UTXO Transactions (API)\n ========================================== */\n\nexport interface TransactionQueryResponse {\n startTime: string\n endTime: string\n next: string\n transactions: TransactionResponse[]\n}\nexport interface TransactionQuery {\n startTime: string\n endTime: string\n next: string\n transactions: Transaction[]\n}\n\nexport interface TransactionResponse {\n id: string\n chainID: string\n type: string\n\n inputs: InputResponse[]\n outputs: OutputResponse[]\n\n memo: string // base64\n\n inputTotals: InputTotal\n outputTotals: OutputTotal\n reusedAddressTotals: string | null\n\n timestamp: string\n\n // https://docs.avax.network/learn/platform-overview/transaction-fees#fee-schedule\n /* Multi-sig txFee scenarios\n A. 1-of-2 ms UTXO => UTXO (equal) both parties paid the fee.\n UTXO (equal) \n \n B. 1-of-2 ms UTXO => UTXO (equal) person that owned the non-multisig output paid more of a % of the fee.\n non-ms UTXO UTXO (equal)\n \n C. 1-of-2 ms UTXO => UTXO person that ended up w/ out output paid the fee because the other person was reimbursed.\n non-ms UTXO\n */\n txFee: number\n\n genesis: boolean\n\n /*\n REWARD PATTERNS - tx type: delgator/validator only\n \n 0. KEYPAIR controls UTXOs\n 1. KEYPAIR issues ADD_VALIDATOR/ADD_DELEGATOR TX\n - validator = adds node to validator (nodeId, start, end, stakeAmount, addressID (rewards destination), fee they charge delegators)\n - delegator = delegates to validator\n - once the tx is put into block and accepted:\n - Input UTXOs\n - UTXOs for staking transfer custody to the protocol (they disappear)\n - Output UTXOs\n - none for staking (output.stake boolean)\n - change UTXOs only\n - you will become a validator/delegator at the startTime\n 2. endTime arrives\n 3. PROTOCOL automatically issues REMOVE_VALIDATOR / REMOVE_DELEGATOR TX\n - removes the validator/delegator from validator set\n - once the tx is put into block and accepted:\n - Input UTXOs\n - none\n - Output UTXO\n - UTXOs mirroring the ADD_VALIDATOR/ADD_DELGATOR Input UTXOs are created - get your stake back\n - no UTXO appears in tx for reward... \n - no inputs or outputs for this tx. the output UTXOs are created out of thin air \n 4. PROTOCOL creates a commit or abort block\n - if uptime is good, then you receive the reward\n P-chain blocks contain 1 tx or 0 tx\n - 1 tx = commit block \n - contains reward UTXO\n - 0 tx = abort block\n - no reward\n 5. KEYPAIR spends reward UTXO (it appears in Ortelius)\n - confirm the reward tx (points at the ADD_* tx) is issued on the x-chain\n - possibly issued on p-chain and pvm_export to x-chain to be spent\n\n rewarded | rewardedTime\n false | null = default, someone staked\n false | number = reward tx was rejected for some reason (double decision block = 2tx in one block)\n true | number = locktime up and reward submitted\n */\n rewarded: boolean // false by default, true when a reward is committed.\n rewardedTime: string | null\n\n epoch: number\n\n vertexId: string\n\n validatorNodeID: string\n validatorStart: number\n validatorEnd: number\n\n // p-chain event. you can tie transactions together (double decision block)\n txBlockId: string // p-chain hash (might be useful to lookup)\n\n /*\n TODOS: exception booleans\n - genesis\n - rewarded\n - frozen\n - stakable\n - stakeLockTime\n - stakableLockedOutput (wraps transfer)\n - stakeLockTime - vesting avax. we needed a way for ppl to stake but otherwise not spend it for any other purpose \n - lockTime\n */\n}\n\n/* ==========================================\n EVM Transactions\n ========================================== */\nexport interface EVMTransactionQueryResponse {\n Transactions: EVMTransactionResponse[]\n startTime: string // N/A - internal query logic for Ortelius DB\n endTime: string // N/A\n}\n\n/* All definitions from https://consensys.github.io/EthOn/EthOn_spec.html\n ValueTx - Just moves Ether from one account to another.\n CallTx - A type of transaction that is directed towards a contract account and calls a method in the contract's code.\n CreateTx - A type of transaction that results in creation of a new contract account.\n */\nexport interface EVMTransactionResponse {\n hash: string // The Keccak 256-bit hash of the transaction\n createdAt: string // time of ingestion by Ortelius, 99& of the time this value should be the same as blockHeader.timestamp (sec granularity). different by ms\n\n // SENDER\n fromAddr: string /* A tx always originates from an external account that is \n controlled by an external actor by means of a private key */\n nonce: number // A scalar value equal to the number of transactions sent by the sender.\n // PAYLOAD\n value: string /* A scalar value equal to the number of Wei to be transferred to the Message call's recipient. \n In the case of contract creation it is the initial balance of \n the contract account, paid by the sending account. */\n input: string // An unlimited size byte array specifying the input data of the call.\n gasPrice: string /* A scalar value equal to the number of Wei to be paid per unit of gas for all \n computation costs incurred as a result of the execution of this transaction. */\n gasLimit: number /* A scalar value equal to the maximum amount of gas that should be used in executing this transaction. \n This is paid up-front, before any computation is done and may not be increased later. \n If used with contract messages it represents the fraction of the original transaction gas limit still \n available for execution of the contract message. After all resulting computations are done, \n excess gas is returned to the sender of the original transaction. */\n // RECIPIENT\n toAddr: string // Relates a message with the account it is sent to.\n recipient: string // duplicate to above\n\n // THE BLOCK CONTAINING THIS TX\n block: string // A scalar value equal to the number of ancestor blocks. The genesis block has a number of zero.\n blockGasUsed: number // A scalar value equal to the total gas used by all transactions in this block.\n blockGasLimit: number /* Will stay constant for foreseeable future\n A scalar value equal to the current limit of gas expenditure per block. \n Its purpose is to keep block propagation and processing time low, \n thereby allowing for a sufficiently decentralized network. */\n blockHash: string // The Keccak 256-bit hash of the block's header, in its entierty.\n blockNonce: number /* Not Applicable\n In PoW, this 64 bit hash, when combined with the mix-hash, proves\n that a sufficient amount of computation has been carried out on this block. */\n\n /* EXECUTION TRACES \n The downside of contract execution is that it is very hard to say what a transaction actually did. \n A transaction receipt does contain a status code to check whether execution succeeded or not, \n but there’s no way to see what data was modified, nor what external contracts were invoked. \n In order to introspect a transaction, we need to trace its execution.\n Example: https://explorerapi.avax.network/v2/ctransactions?hash=0xbe5960deded935d9cbea94ea9e944699db668646dba9d20bcfda921f979bfd87\n */\n traces: TraceResponse[]\n\n /* TX SIGNATURE\n - used to determine the sender of the transaction\n - V, R and S correspond to the signature of the transaction */\n r: string // byte array of length 32\n s: string // byte array of length 32\n v: string /* specifies the sign and finiteness of the curve point. \n Since EIP-155 it is used to realize a replay attack protection. \n It is calculated in the following way: txV = CHAIN_ID * 2 + 36 */\n}\n\n/* EXECUTION TRACES\n This response is based on the Blockscout tracer: \n It allows Geth's \"debug_traceTransaction\" to mimic \n the output of Parity's \"trace_replayTransaction\".\n Objects represent ContractMsg - A contract message is passed between a \n contract account and any other account (external or contract). It is the \n result of an execution chain originally triggered by an external eccount.\n curl -X POST --data '{ \"jsonrpc\": \"2.0\", \"method\": \"debug_traceTransaction\",\"params\": [\"0x00000217bc17e7e3187efae9248523f4fe2bc90e029e3ba13ddd8ff69607c705\", {\"disableStack\": true, \"disableMemory\": true, \"disableStorage\": true}],\"id\": 1}' -H 'content-type:application/json;' https://api.avax.network/ext/bc/C/rpc\n */\nexport interface TraceResponse {\n callType: string /* execution context\n \"\" - when it's a CREATE\n CALL - executes in scope of contract\n DELEGATECALL - executes in scope of caller contract. value inherited from scope during call sequencing\n STATICCALL - by definition static calls transfer no value */\n type: string /* one of the two values CALL and CREATE\n CREATE - a subtype of a contract message that results in creation of a new contract account\n CALL - CallContractMsg - a contract message that calls a function in another contract.\n ??? SelfdestructContractMsg - a contract message that deletes the originating contract and refunds its balance to the receiver of the message.*/\n // SENDER\n from: string // Relates a message to the account it originates from.\n // PAYLOAD\n input: string // An unlimited size byte array specifying the input data of the call.\n output?: string // return value\n value: string // amount to be transferred in wei\n // RECEIVER\n to: string /* Relates a message with the account it is sent to. \n refunds - Relates a selfdestruct contract message to the contract account it sends its refund balance to.\n creates - Relates a create transaction to the contract account it creates. */\n\n gasUsed: string /* The amount of gas that was used for processing a single message\n regardless of which type of message it may be. */\n gas: string // ??? could be msgGasLimit - A scalar value equal to the maximum amount of gas that should be used in executing this transaction. This is paid up-front, before any computation is done and may not be increased later. If used with contract messages it represents the fraction of the original transaction gas limit still available for execution of the contract message. After all resulting computations are done, excess gas is returned to the sender of the original transaction.\n\n traceAddress?: number[]\n\n createdContractAddressHash?: string\n createdContractCode?: string\n\n // ERROR EXAMPLE: https://explorerapi.avax-test.network/v2/ctransactions?hash=0x638a35c57a7a1545a8a6eb4ea6a3355c2d4e64657f8921fd3ff922aff86436b1\n error?: string // \"execution reverted\",\n revertReason?: string // keccak-256 encoding \"0x08c379a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000009542d4f4145582d30310000000000000000000000000000000000000000000000\",\n revertReasonUnpacked?: string // \"T-OAEX-01\"\n\n children?: TraceResponse[]\n}\n\n/* ==========================================\n Transactions (JS)\n ========================================== */\nexport interface ITransaction\n extends Omit {\n inputs: Input[]\n outputs: Output[]\n}\n\n/* ==========================================\n UTXOs (API)\n ========================================== */\nexport interface InputResponse {\n credentials: CredentialResponse\n output: OutputResponse\n}\nexport interface OutputResponse {\n id: string\n transactionID: string // INPUTS - the prev tx that generated this input UTXO. OUTPUTS - this tx\n redeemingTransactionID: string // INPUTS - this tx. OUTPUTS - \"\" if unspent, or the txID that spent this UTXO\n outputIndex: number // INPUTS - reference the UTXO index from the prev tx that generated this UTXO.\n chainID: string\n assetID: string\n timestamp: string // time of ingestion by Ortelius\n amount: string // 0 in the case of NFTs\n\n outputType: number\n groupID: number\n\n // RELEVANT TO P-CHAIN\n stake: boolean // if true, UTXO was in the staking output set (ins/outs/staking)\n stakeableout: boolean // if true, UTXO is/was subject to vesting. connected to stakeLocktime\n stakeLocktime: number // if before stakeLockTime, UTXO is vesting (locked), and can only used as input UTXO to stake in addValidator/addDelegator tx\n rewardUtxo: boolean // if true, this UTXO is the validation/delegation reward\n\n // RELEVANT TO X-CHAIN\n genesisutxo: boolean\n frozen: boolean // TODO: Apricot\n locktime: number\n threshold: number\n payload: string | null // NFTs\n\n // RELEVANT TO P-CHAIN & X-CHAIN\n addresses: string[] // notice the output UTXO address is blank. an exception for c-chain is handled in the transaction class\n\n // RELEVANT TO C-CHAIN\n caddresses: string[]\n block: string // https://cchain.explorer.avax.network/blocks/33726/transactions - broken block/tx\n nonce: number\n /* \n X > SHARED DB > P/C\n 1. EXPORT = move UTXO from X to SHARED DB (https://explorerapi.avax.network/v2/transactions/wQwXqfXKyoHSMCP4QVrfZgU9V7cBShJGgkZmGvkLQbHTRjhAS)\n 2. ATOMIC_IMPORT = move UTXO from SHARED DB to P/C (https://explorerapi.avax.network/v2/transactions/9TMCg4ZRfa91NHJE7LgMFK6UHKP83uopHBFL3zyDc55acfMUF)\n - normally, we'd see an output UTXO, but in lieu of output UTXO, we see a C-address\n - inputs.addresses = [avax...]\n - outputs.address = null\n - outputs.caddress = [0x..]\n - if you have hex C-addresses, then the output represented as atomic import address, you will see the actual block that wrapped that atomic import/export tx\n \n P/C > SHARED DB > X\n 1. ATOMIC_EXPORT = move UTXO from P/C to SHARED DB \n 2. IMPORT = move UTXO from SHARED DB to X \n \n note: \"chainID\": \"2q9e4r6Mu3U68nU1fYjgbR6JvwrRx36CohpAX5UQxse55x1Q5\", is messed up \n */\n}\n\nexport interface CredentialResponse {\n signature: string\n public_key: string\n address: string\n}\n\n/* ==========================================\n UTXOs (JS)\n ========================================== */\nexport interface Input {\n credentials: CredentialResponse\n output: Output\n}\n\nexport interface Output extends Omit {\n timestamp: Date\n amount: Big\n}\n\nexport interface InputTotal {\n [key: string]: number\n}\n\nexport interface OutputTotal {\n [key: string]: number\n}\n\nexport interface OutputValuesDict {\n [key: string]: {\n symbol: string\n amount: Big\n denomination: number\n isNFT: boolean\n }\n}\n\nexport interface OutValuesDenominated {\n [assetId: string]: {\n amount: string\n symbol: string\n assetID: string\n isNFT: boolean\n }\n}\n\nexport enum OutputType {\n TRANSFERABLE = '',\n NFT_TRANSFERABLE = 'NFT',\n MINT = 'Mint',\n NFT_MINT = 'NFT Minting Rights',\n ATOMIC_EXPORT_TX = 'Atomic Export',\n ATOMIC_IMPORT_TX = 'Atomic Import',\n}\n\nexport enum BlockType {\n PROPOSAL = 'Proposal',\n ABORT = 'Abort',\n COMMIT = 'Commit',\n STANDARD = 'Standard',\n ATOMIC = 'Atomic',\n}\n","import { OutputResponse } from '@/store/modules/transactions/models'\nimport { OutputType, BlockType } from './models'\n\nexport interface TxType {\n long: string\n short: string\n}\n\n/**\n * These types come from here @link https://github.com/ava-labs/ortelius/blob/ec567c97630383d1a4ef468cf1bcf35d5d1eb3d2/services/indexes/models/types.go#L56\n */\nexport const txTypeMap = new Map([\n [\n 'base',\n {\n long: 'Base',\n short: '',\n },\n ],\n [\n 'create_asset',\n {\n long: 'Create Asset',\n short: 'Mint',\n },\n ],\n /**\n * @link https://docs.avax.network/build/references/avm-transaction-serialization#operations\n */\n [\n 'operation',\n {\n long: 'Operation',\n short: 'NFT',\n },\n ],\n [\n 'import',\n {\n long: 'Import',\n short: 'Import',\n },\n ],\n [\n 'export',\n {\n long: 'Export',\n short: 'Export',\n },\n ],\n [\n 'atomic_import_tx',\n {\n long: 'Atomic Import',\n short: 'Import',\n },\n ],\n [\n 'atomic_export_tx',\n {\n long: 'Atomic Export',\n short: 'Export',\n },\n ],\n [\n 'add_validator',\n {\n long: 'Add Validator',\n short: 'Validate',\n },\n ],\n [\n 'add_subnet_validator',\n {\n long: 'Add Subnet Validator',\n short: 'Validate Subnet',\n },\n ],\n [\n 'add_delegator',\n {\n long: 'Add Delegator',\n short: 'Delegate',\n },\n ],\n [\n 'create_subnet',\n {\n long: 'Create Subnet',\n short: 'Create Subnet',\n },\n ],\n [\n 'create_chain',\n {\n long: 'Create Chain',\n short: 'Create Chain',\n },\n ],\n [\n 'pvm_export',\n {\n long: 'PVM Export',\n short: 'Export',\n },\n ],\n [\n 'pvm_import',\n {\n long: 'PVM Import',\n short: 'Import',\n },\n ],\n [\n 'advance_time',\n {\n long: 'Advance Time',\n short: 'Advance Time',\n },\n ],\n [\n 'reward_validator',\n {\n long: 'Reward Validator',\n short: 'Reward',\n },\n ],\n])\n\nexport function getMappingForType(type: string) {\n return txTypeMap.get(type)!.short || ''\n}\n\n/**\n * Info can be found here @link https://docs.avax.network/build/references/avm-transaction-serialization\n */\nconst outputTypes = new Map([\n [6, OutputType.MINT],\n [7, OutputType.TRANSFERABLE],\n [10, OutputType.NFT_MINT],\n [11, OutputType.NFT_TRANSFERABLE],\n [4294967281, OutputType.ATOMIC_EXPORT_TX],\n [4294967282, OutputType.ATOMIC_EXPORT_TX],\n])\n\nexport function getOutputType(type: OutputResponse['outputType']) {\n return outputTypes.get(type)\n}\n\nconst blockTypes = new Map([\n [0, BlockType.PROPOSAL],\n [1, BlockType.ABORT],\n [2, BlockType.COMMIT],\n [3, BlockType.STANDARD],\n [4, BlockType.ATOMIC],\n])\n\nexport function getBlockType(type: number) {\n return blockTypes.get(type)\n}\n\nexport const NFTTypes = new Map([\n [1, 'UTF-8'],\n [24, 'JSON'],\n [27, 'URL'],\n])\n\nexport function getNFTType(type: number) {\n return NFTTypes.get(type)\n}\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=style&index=0&id=28519f90&scoped=true&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=style&index=0&id=28519f90&scoped=true&lang=scss&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecentTransactions.vue?vue&type=style&index=0&id=38874a06&scoped=true&lang=scss&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecentTransactions.vue?vue&type=style&index=0&id=38874a06&scoped=true&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/network_off_white.f735a3f7.png\";","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchResult.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchResult.vue?vue&type=style&index=0&lang=scss&\"","import api from '@/axios'\nimport { resolveResponseData } from '@/services/helpers'\nimport qs from 'qs'\n\nconst TRANSACTIONS_API_BASE_URL =\n process.env.VUE_APP_TRANSACTIONS_V2_API_BASE_URL\n\nexport interface ITransactionPayload {\n id?: string | null\n params?: ITransactionParams\n}\n\nexport interface ITransactionParams {\n chainID?: string[]\n assetID?: string\n address?: string\n disableGenesis?: boolean\n sort?: string\n limit?: number\n startTime?: number\n endTime?: number\n offset?: number // to be deprecated\n}\n\n/**\n https://explorerapi.avax.network/v2/transactions\n ?assetID=FvwEAhmxKfeiG8SnEvq42hc6whRyY3EFYAvebMqDNDGCgxN5Z\n &sort=timestamp-desc\n &limit=25\n &chainID=2oYMBNV4eNHyqk2fjjV5nVQLDbtmNJzq5s3qs3Lo6ftnC6FByM\n &chainID=11111111111111111111111111111111LpoYY\n */\n\n/**\n *\n * @param params api release\n * @link https://docs.avax.network/build/tools/ortelius#list-transactions\n */\nexport function getTransaction(\n id?: string | null,\n params?: ITransactionParams\n) {\n return api\n .get(\n id\n ? `${TRANSACTIONS_API_BASE_URL}/${id}`\n : TRANSACTIONS_API_BASE_URL,\n {\n params,\n paramsSerializer: (params) =>\n qs.stringify(params, { arrayFormat: 'repeat' }),\n }\n )\n .then(resolveResponseData)\n}\n","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchBar.vue?vue&type=style&index=0&id=11a6ae83&scoped=true&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchBar.vue?vue&type=style&index=0&id=11a6ae83&scoped=true&lang=scss&\"","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('div', {\n staticClass: \"search_result\",\n on: {\n \"click\": _vm.select\n }\n }, [_c('div', {\n staticClass: \"symbol_container\"\n }, [_c('p', {\n staticClass: \"symbol\",\n style: {\n backgroundColor: _vm.chainDarkColor\n }\n }, [_c('span', {\n style: {\n color: _vm.chainColor\n }\n }, [_vm._v(\"Tx\")])])]), _c('div', {\n staticClass: \"data\"\n }, [_c('p', {\n staticClass: \"result_id\"\n }, [_vm._v(_vm._s(_vm.item.id))]), _c('div', {\n staticClass: \"result_details\"\n }, [_c('p', {\n staticClass: \"details_ago\"\n }, [_vm._v(\" \" + _vm._s(_vm._f(\"fromNow\")(new Date(_vm.item.timestamp))) + \" \")]), _c('p', {\n staticClass: \"details_chain\",\n style: {\n color: _vm.chainColor\n }\n }, [_vm._v(\" \" + _vm._s(_vm.chainName) + \" \")])])])]);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport 'reflect-metadata'\nimport { Vue, Component, Prop } from 'vue-property-decorator'\nimport { getTxChainType } from '@/known_blockchains'\n\n@Component({})\nexport default class TransactionResult extends Vue {\n @Prop() item!: any\n\n select() {\n this.$router.push(`/tx/${this.item.id}`)\n this.$emit('select')\n }\n\n get chainColor() {\n return getTxChainType(this.item.chainID)!.color\n }\n\n get chainDarkColor() {\n return getTxChainType(this.item.chainID)!.darkColor\n }\n\n get chainName() {\n return getTxChainType(this.item.chainID)!.name\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TransactionResult.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TransactionResult.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TransactionResult.vue?vue&type=template&id=4c90822d&scoped=true&\"\nimport script from \"./TransactionResult.vue?vue&type=script&lang=ts&\"\nexport * from \"./TransactionResult.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TransactionResult.vue?vue&type=style&index=0&id=4c90822d&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4c90822d\",\n null\n \n)\n\nexport default component.exports","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('div', {\n staticClass: \"table_headers\"\n }, [_c('p', {\n staticClass: \"header_indent_sm\"\n }, [_vm._v(\" ID \"), _c('Tooltip', {\n attrs: {\n \"content\": \"Unique identifier for this transaction\"\n }\n })], 1), _c('p', [_vm._v(\" Chain \"), _c('Tooltip', {\n attrs: {\n \"content\": \"Blockchain for this transaction\"\n }\n })], 1), _c('p', {\n staticClass: \"header_indent\"\n }, [_vm._v(\" From \"), _c('Tooltip', {\n attrs: {\n \"content\": \"Sender address\"\n }\n })], 1), _c('p', {\n staticClass: \"header_indent\"\n }, [_vm._v(\" To \"), _c('Tooltip', {\n attrs: {\n \"content\": \"Receiver address\"\n }\n })], 1)]);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport 'reflect-metadata'\nimport { Vue, Component } from 'vue-property-decorator'\nimport Tooltip from '@/components/rows/Tooltip.vue'\n\n@Component({\n components: {\n Tooltip,\n },\n})\nexport default class TxTableHead extends Vue {}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TxTableHead.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TxTableHead.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TxTableHead.vue?vue&type=template&id=9ae5f70a&scoped=true&\"\nimport script from \"./TxTableHead.vue?vue&type=script&lang=ts&\"\nexport * from \"./TxTableHead.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"9ae5f70a\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddressLink.vue?vue&type=style&index=0&id=19764646&scoped=true&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddressLink.vue?vue&type=style&index=0&id=19764646&scoped=true&lang=scss&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NetworkRow.vue?vue&type=style&index=0&id=18a0263c&scoped=true&lang=scss&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NetworkRow.vue?vue&type=style&index=0&id=18a0263c&scoped=true&lang=scss&\"","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=3f6e7982&scoped=true&lang=scss&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=3f6e7982&scoped=true&lang=scss&\"","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _vm.$vuetify.breakpoint.smAndUp ? _c('v-tooltip', {\n attrs: {\n \"bottom\": \"\"\n },\n scopedSlots: _vm._u([{\n key: \"activator\",\n fn: function fn(_ref) {\n var on = _ref.on;\n return [_c('img', _vm._g({\n attrs: {\n \"src\": require(\"@/assets/tooltip.svg\")\n }\n }, on))];\n }\n }], null, false, 1623786573)\n }, [_c('span', [_vm._v(_vm._s(_vm.content))])]) : _vm._e();\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\nimport 'reflect-metadata'\nimport { Vue, Component, Prop } from 'vue-property-decorator'\n\n@Component({})\nexport default class Tooltip extends Vue {\n @Prop() content!: string\n @Prop() color?: string\n\n get fillColor(): string {\n return this.color ? this.color : '#2196f3'\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tooltip.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tooltip.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Tooltip.vue?vue&type=template&id=2a6c5877&scoped=true&\"\nimport script from \"./Tooltip.vue?vue&type=script&lang=ts&\"\nexport * from \"./Tooltip.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Tooltip.vue?vue&type=style&index=0&id=2a6c5877&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2a6c5877\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VTooltip})\n","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('div', {\n staticClass: \"tx_row\"\n }, [_c('div', {\n staticClass: \"info_col id_col\"\n }, [_c('router-link', {\n staticClass: \"id monospace\",\n attrs: {\n \"to\": \"/tx/\".concat(_vm.transaction.id)\n }\n }, [_vm._v(_vm._s(_vm.transaction.id) + \"...\")]), _c('p', {\n staticClass: \"time\"\n }, [_vm._v(_vm._s(_vm._f(\"fromNow\")(_vm.transaction.timestamp)))]), _c('p', {\n staticClass: \"type\"\n }, [_vm.type !== '' ? _c('span', {\n staticClass: \"tx_type_label\"\n }, [_vm._v(_vm._s(_vm.type))]) : _vm._e()])], 1), _c('div', {\n staticClass: \"avatar\",\n style: {\n backgroundColor: _vm.chainDarkColor\n }\n }, [_c('p', [_vm._v(\" \" + _vm._s(_vm.chainCode) + \" \")])]), _c('div', {\n staticClass: \"info_col utxo_list\"\n }, [_vm.$vuetify.breakpoint.smAndDown ? _c('span', {\n staticClass: \"label\"\n }) : _vm._l(_vm.inputs, function (input, i) {\n return _c('InputUTXO', {\n key: i,\n attrs: {\n \"input\": input\n }\n });\n })], 2), _c('div', {\n staticClass: \"info_col utxo_list\"\n }, [_vm.isGenesisVertex ? [_c('v-btn', {\n staticClass: \"ava_btn\",\n attrs: {\n \"text\": true\n },\n on: {\n \"click\": _vm.goToTx\n }\n }, [_vm._v(\" Explore Genesis Vertex \")])] : _vm._l(_vm.outputs, function (output, i) {\n return _c('OutputUTXO', {\n key: i,\n attrs: {\n \"output\": output\n }\n });\n })], 2)]);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('div', {\n staticClass: \"from\",\n style: {\n backgroundColor: _vm.background\n }\n }, [_c('div', {\n staticClass: \"addr_container\"\n }, [_vm.$vuetify.breakpoint.smAndDown ? _c('span', {\n staticClass: \"label\"\n }, [_vm._v(\"From\")]) : _vm._e(), _c('AddressLink', {\n attrs: {\n \"address\": _vm.input.displayAddress\n }\n })], 1)]);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('div', [_vm.isBech32 ? _c('router-link', {\n staticClass: \"addr monospace\",\n attrs: {\n \"to\": _vm.internalURL\n }\n }, [_c('span', [_vm._v(_vm._s(_vm.abbrev32[0]))]), _c('span', [_vm._v(_vm._s(_vm.abbrev32[1]))]), _c('span', {\n staticClass: \"bold\"\n }, [_vm._v(_vm._s(_vm.abbrev32[2]))]), _c('span', [_vm._v(_vm._s(_vm.abbrev32[3]))]), _c('span', {\n staticClass: \"bold\"\n }, [_vm._v(_vm._s(_vm.abbrev32[4]))])]) : _c('a', {\n staticClass: \"addr monospace\",\n attrs: {\n \"href\": \"\".concat(_vm.externalURL)\n }\n }, [_c('span', [_vm._v(_vm._s(_vm.abbrevHex[0]))]), _c('span', {\n staticClass: \"bold\"\n }, [_vm._v(_vm._s(_vm.abbrevHex[1]))]), _c('span', [_vm._v(_vm._s(_vm.abbrevHex[2]))]), _c('span', {\n staticClass: \"bold\"\n }, [_vm._v(_vm._s(_vm.abbrevHex[3]))])])], 1);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport {\n cChainExplorerURL,\n cChainExplorerURL_test,\n DEFAULT_NETWORK_ID,\n} from '@/store/modules/network/network'\nimport 'reflect-metadata'\nimport { Vue, Component, Prop } from 'vue-property-decorator'\nimport { abbreviateBech32, abbreviateHex } from '@/helper'\n\n@Component({})\nexport default class AddressLink extends Vue {\n @Prop() address!: string\n\n get isBech32() {\n const prefix = this.address.substring(0, 2)\n return prefix !== '0x' ? true : false\n }\n\n get internalURL() {\n return `/address/${this.address}`\n }\n\n get externalURL() {\n return `${\n DEFAULT_NETWORK_ID === 1\n ? cChainExplorerURL\n : cChainExplorerURL_test\n }/address/${this.address}`\n }\n\n get abbrev32() {\n return abbreviateBech32(this.address)\n }\n\n get abbrevHex() {\n return abbreviateHex(this.address)\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddressLink.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddressLink.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AddressLink.vue?vue&type=template&id=19764646&scoped=true&\"\nimport script from \"./AddressLink.vue?vue&type=script&lang=ts&\"\nexport * from \"./AddressLink.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AddressLink.vue?vue&type=style&index=0&id=19764646&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"19764646\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\nimport 'reflect-metadata'\nimport { Vue, Component, Prop } from 'vue-property-decorator'\nimport AddressLink from '@/components/rows/TxRow/AddressLink.vue'\nimport { DisplayAddress } from '@/js/Transaction'\nimport { backgroundColor } from '@/helper'\n@Component({\n components: {\n AddressLink,\n },\n})\nexport default class InputUTXO extends Vue {\n @Prop() input!: DisplayAddress\n\n get background() {\n return backgroundColor(this.input.displayAddress!)\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputUtxo.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputUtxo.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./InputUtxo.vue?vue&type=template&id=ceb11ad2&scoped=true&\"\nimport script from \"./InputUtxo.vue?vue&type=script&lang=ts&\"\nexport * from \"./InputUtxo.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ceb11ad2\",\n null\n \n)\n\nexport default component.exports","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('div', {\n staticClass: \"to\",\n style: {\n backgroundColor: _vm.background\n }\n }, [_c('div', {\n staticClass: \"addresses\"\n }, _vm._l(_vm.addresses, function (addr, i) {\n return _c('div', {\n key: i,\n staticClass: \"addr_container\"\n }, [_vm.$vuetify.breakpoint.smAndDown ? _c('span', {\n staticClass: \"label\"\n }, [_vm._v(\"To\")]) : _vm._e(), _c('AddressLink', {\n attrs: {\n \"address\": addr.displayAddress\n }\n })], 1);\n }), 0), _c('div', {\n staticClass: \"amount\"\n }, [!_vm.isNFT ? _c('div', {\n staticClass: \"value monospace\"\n }, [_vm._v(\" \" + _vm._s(_vm.amount)), _c('span', {\n staticClass: \"leftover\"\n }, [_vm._v(_vm._s(_vm.leftover))])]) : _vm._e(), _c('div', {\n staticClass: \"symbol\"\n }, [_c('router-link', {\n attrs: {\n \"to\": \"/asset/\".concat(_vm.asset.id)\n }\n }, [_vm._v(_vm._s(_vm.asset.symbol))])], 1)])]);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport 'reflect-metadata'\nimport { Vue, Component, Prop } from 'vue-property-decorator'\nimport { trimmedLocaleString, backgroundColor } from '@/helper'\nimport AddressLink from '@/components/rows/TxRow/AddressLink.vue'\nimport { Asset } from '@/js/Asset'\nimport Big from 'big.js'\nimport { DisplayAddress } from '@/js/Transaction'\n\n@Component({\n components: {\n AddressLink,\n },\n})\nexport default class OutputUtxo extends Vue {\n @Prop() output!: any\n\n get asset(): Asset {\n if (this.$store.state.assets[this.output.assetID]) {\n return this.$store.state.assets[this.output.assetID]\n }\n this.$store.dispatch('addUnknownAsset', this.output.assetID)\n //@ts-ignore\n return {\n id: '',\n alias: '',\n chainID: '',\n currentSupply: Big(0),\n denomination: 0,\n name: '',\n symbol: '',\n profane: false,\n }\n }\n\n get addresses(): DisplayAddress[] {\n return this.output.addresses\n }\n\n get amount(): string {\n const amt = Big(this.output.amount)\n return trimmedLocaleString(amt, this.asset.denomination)\n }\n\n get leftover(): string {\n const charsAfterPeriod = this.amount.split('.')[1]\n\n // PAD WITH PERIOD AND ZEROS\n if (!charsAfterPeriod) {\n const paddingZeros = this.asset.denomination\n let leftover = '.'\n for (let i = 0; i < paddingZeros; i++) {\n leftover += '0'\n }\n return leftover\n }\n // NO NEED TO PAD WITH ZEROS\n const paddingZeros = this.asset.denomination - charsAfterPeriod.length\n if (!paddingZeros) {\n return ''\n }\n // PAD WITH ZEROS\n let leftover = ''\n for (let i = 0; i < paddingZeros; i++) {\n leftover += '0'\n }\n return leftover\n }\n\n get isNFT(): boolean {\n switch (this.output.outputType) {\n case 7:\n return false\n case 10:\n return true\n case 11:\n return true\n default:\n return false\n }\n }\n\n get background(): string {\n return backgroundColor(this.addresses[0].displayAddress!)\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OutputUtxo.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OutputUtxo.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OutputUtxo.vue?vue&type=template&id=7b57dfa9&scoped=true&\"\nimport script from \"./OutputUtxo.vue?vue&type=script&lang=ts&\"\nexport * from \"./OutputUtxo.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7b57dfa9\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport 'reflect-metadata'\nimport { Vue, Component, Prop } from 'vue-property-decorator'\nimport InputUTXO from '@/components/rows/TxRow/InputUtxo.vue'\nimport OutputUTXO from '@/components/rows/TxRow/OutputUtxo.vue'\nimport {\n Transaction,\n getTransactionOutputs,\n getTransactionInputs,\n} from '@/js/Transaction'\nimport { DEFAULT_NETWORK_ID } from '@/store/modules/network/network'\nimport { getTxChainType } from '@/known_blockchains'\nimport { getMappingForType } from '@/store/modules/transactions/maps'\n\n@Component({\n components: {\n InputUTXO,\n OutputUTXO,\n },\n filters: {\n getType: getMappingForType,\n },\n})\nexport default class TxRow extends Vue {\n @Prop() transaction!: Transaction\n\n get isGenesisVertex(): boolean {\n const genesisTxID =\n DEFAULT_NETWORK_ID === 1\n ? process.env.VUE_APP_AVAXID\n : process.env.VUE_APP_TEST_AVAXID\n return this.transaction.id === genesisTxID ? true : false\n }\n\n get chainCode() {\n return getTxChainType(this.transaction.chainID)!.code\n }\n\n get chainColor() {\n return getTxChainType(this.transaction.chainID)!.color\n }\n\n get chainDarkColor() {\n return getTxChainType(this.transaction.chainID)!.darkColor\n }\n\n get type() {\n return getMappingForType(this.transaction.type)\n }\n\n /**\n * Returns a list of unique addresses found in Input UTXOs\n */\n get inputs() {\n const addresses = getTransactionInputs(this.transaction.inputs).flatMap(\n (output) => output.output.addresses\n )\n\n /**\n * This is just making sure that the addresses is a unique set with no repeats\n */\n return Array.from(\n new Set(addresses.map((address) => address.address))\n ).map((address) => {\n return {\n address,\n ...addresses.find((a) => a.address === address),\n }\n })\n }\n\n get outputs() {\n return getTransactionOutputs(this.transaction.outputs)\n }\n\n goToTx() {\n this.$router.push(`/tx/${this.transaction.id}`)\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TxRow.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TxRow.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TxRow.vue?vue&type=template&id=741d9739&scoped=true&\"\nimport script from \"./TxRow.vue?vue&type=script&lang=ts&\"\nexport * from \"./TxRow.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"741d9739\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\ninstallComponents(component, {VBtn})\n","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('div', {\n staticClass: \"search_result\",\n on: {\n \"click\": _vm.select\n }\n }, [_c('div', {\n staticClass: \"symbol_container\"\n }, [_c('p', {\n staticClass: \"symbol\"\n }, [_vm._v(_vm._s(_vm.symbol))])]), _c('div', {\n staticClass: \"data\"\n }, [_c('p', {\n staticClass: \"name\"\n }, [_vm._v(\" \" + _vm._s(_vm.name) + \" \"), _c('span', [_vm._v(_vm._s(_vm.idAbbreviated))])]), _c('p', {\n staticClass: \"supply\"\n }, [_vm._v(\" Supply \" + _vm._s(_vm.supply.toLocaleString()) + \" \" + _vm._s(_vm.symbol) + \" \")])])]);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport 'reflect-metadata'\nimport { Vue, Component, Prop } from 'vue-property-decorator'\nimport { stringToBig } from '@/helper'\n\n@Component({})\nexport default class AssetResult extends Vue {\n @Prop() item!: any\n\n get id() {\n return `${this.item.id}`\n }\n\n get idAbbreviated() {\n return `${this.item.id.substring(0, 8)}...`\n }\n\n get name() {\n return this.item.name\n }\n\n get symbol() {\n return this.item.symbol\n }\n\n get supply() {\n return stringToBig(this.item.currentSupply, this.item.denomination)\n }\n\n select() {\n const url = `/asset/${this.id}`\n this.$router.push(url)\n this.$emit('select')\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AssetResult.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AssetResult.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AssetResult.vue?vue&type=template&id=051bc388&scoped=true&\"\nimport script from \"./AssetResult.vue?vue&type=script&lang=ts&\"\nexport * from \"./AssetResult.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AssetResult.vue?vue&type=style&index=0&id=051bc388&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"051bc388\",\n null\n \n)\n\nexport default component.exports","import { AxiosResponse } from 'axios'\n\nexport function resolveResponseData(res: AxiosResponse) {\n return res.data\n}\n","const DEFAULT_NETWORK_ID = parseInt(\n process.env.VUE_APP_DEFAULT_NETWORKID || '4'\n)\n\nconst AVAX_FAUCET_ID =\n DEFAULT_NETWORK_ID === 1\n ? (process.env.VUE_APP_FAUCETADDRESS as string)\n : (process.env.VUE_APP_TEST_FAUCETADDRESS as string)\n\ninterface AddressDict {\n [key: string]: string\n}\n\nconst dict: AddressDict = {}\n\ndict[AVAX_FAUCET_ID] = 'The AVAX Faucet'\n\nexport default dict\n","const DEFAULT_NETWORK_ID = parseInt(\n process.env.VUE_APP_DEFAULT_NETWORKID || '4'\n)\n\nexport const AVAX_ID =\n DEFAULT_NETWORK_ID === 1\n ? (process.env.VUE_APP_AVAXID as string)\n : (process.env.VUE_APP_TEST_AVAXID as string)\n\nexport const BAGUETTE_ID =\n DEFAULT_NETWORK_ID === 1\n ? 'F4MyJcUvq3Rxbqgd4Zs8sUpvwLHApyrp4yxJXe2bAV86Vvp38'\n : undefined\n\ninterface AssetDict {\n [key: string]: {\n logo: string\n }\n}\n\nconst dict: AssetDict = {}\n\ndict[AVAX_ID] = {\n logo: 'img/avax_icon_circle.png',\n}\n\nif (BAGUETTE_ID) {\n dict[BAGUETTE_ID] = {\n logo: 'img/baguette_icon_circle.jpg',\n }\n}\n\nexport default dict\n","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('v-app', [_vm.$vuetify.breakpoint.mdAndUp ? _c('NavBar', {\n staticClass: \"navbar\"\n }) : _vm._e(), _vm.$vuetify.breakpoint.smAndDown ? _c('NavBarMobile', {\n staticClass: \"navbar_mobile\"\n }) : _vm._e(), _c('div', [_c('TestnetAlert'), _c('div', {\n staticClass: \"side_container\"\n }, [_c('v-content', {\n staticClass: \"content\"\n }, [_c('router-view', {\n staticClass: \"router_view\"\n })], 1)], 1)], 1), _c('Footer', {\n staticClass: \"footer\"\n }), _c('Notifications')], 1);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('v-app-bar', {\n style: {\n backgroundColor: _vm.navColor\n },\n attrs: {\n \"div\": \"navbar\",\n \"app\": \"\",\n \"dark\": \"\",\n \"flat\": \"\",\n \"dense\": \"\",\n \"height\": 140\n }\n }, [_c('div', {\n staticClass: \"top\"\n }, [_c('div', {\n staticClass: \"logo\"\n }, [_c('a', {\n attrs: {\n \"href\": _vm.cChainURL\n }\n }, [_c('img', {\n staticStyle: {\n \"height\": \"30px\"\n },\n attrs: {\n \"src\": require(\"@/assets/explorer_logo_\".concat(_vm.logoColor, \".png\"))\n }\n }), _c('h1', [_c('span', {\n staticClass: \"hide\"\n }, [_vm._v(\"Avalanche Explorer\")])])])]), _c('v-spacer', {\n staticClass: \"spacer_mid\"\n }), _c('div', {\n staticClass: \"links\"\n }, [_c('div', {\n staticClass: \"routes\"\n }, [_c('a', {\n attrs: {\n \"href\": _vm.cChainURL\n }\n }, [_vm._v(\"Home\")]), _c('router-link', {\n attrs: {\n \"to\": \"/subnets\"\n }\n }, [_vm._v(\"Subnets\")]), _c('router-link', {\n attrs: {\n \"to\": \"/validators\"\n }\n }, [_vm._v(\"Validators\")]), _c('a', {\n attrs: {\n \"href\": _vm.tokensURL\n }\n }, [_vm._v(\"Tokens\")]), _c('router-link', {\n attrs: {\n \"to\": \"/blockchains\"\n }\n }, [_vm._v(\"Blockchains\")]), _vm.isMainnet ? _c('a', {\n attrs: {\n \"href\": _vm.statsURL\n }\n }, [_vm._v(\"Stats\")]) : _vm._e(), _c('a', {\n attrs: {\n \"href\": _vm.cChainURL\n }\n }, [_vm._v(\"C-Chain\")]), _c('a', {\n attrs: {\n \"href\": _vm.statusPageURL\n }\n }, [_vm._v(\"Status\")]), _c('router-link', {\n attrs: {\n \"to\": \"/resources\"\n }\n }, [_vm._v(\"Resources\")])], 1)]), _c('v-spacer', {\n staticClass: \"spacer_mid\"\n }), _c('NetworkMenu')], 1), _c('div', {\n staticClass: \"bottom\"\n }, [_vm.pricesLoaded ? _c('div', {\n staticClass: \"prices\"\n }, [_c('div', {\n staticClass: \"price_pair\"\n }, [_c('span', {\n staticClass: \"label\"\n }, [_vm._v(\"AVAX\")]), _c('span', {\n staticClass: \"value\"\n }, [_vm._v(_vm._s(_vm.priceUSD))])])]) : _c('v-progress-circular', {\n key: \"1\",\n attrs: {\n \"size\": 16,\n \"width\": 2,\n \"color\": \"#E84970\",\n \"indeterminate\": \"\"\n }\n }), _c('div', [_c('SearchBar', {\n staticClass: \"search_bar\",\n attrs: {\n \"placeholder\": \"Search by Address / TxId / Asset\"\n },\n on: {\n \"search\": _vm.onsearch\n }\n })], 1)], 1)]);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('div', {\n staticClass: \"search_bar\"\n }, [_c('div', {\n staticClass: \"search_input_wrapper\"\n }, [_c('v-btn', {\n attrs: {\n \"color\": \"#fff\",\n \"loading\": _vm.isAjax,\n \"depressed\": \"\"\n },\n on: {\n \"click\": _vm.search\n }\n }, [_c('fa', {\n attrs: {\n \"icon\": \"search\"\n }\n })], 1), _c('input', {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.searchValue,\n expression: \"searchValue\"\n }],\n attrs: {\n \"type\": \"text\",\n \"placeholder\": _vm.placeholder\n },\n domProps: {\n \"value\": _vm.searchValue\n },\n on: {\n \"keyup\": [function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")) { return null; }\n return _vm.search($event);\n }, function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"esc\", 27, $event.key, [\"Esc\", \"Escape\"])) { return null; }\n return _vm.closeSearch($event);\n }],\n \"input\": [function ($event) {\n if ($event.target.composing) { return; }\n _vm.searchValue = $event.target.value;\n }, _vm.oninput],\n \"focus\": _vm.onfocus,\n \"blur\": _vm.onblur\n }\n })], 1), _c('transition', {\n attrs: {\n \"name\": \"fade\"\n }\n }, [_vm.showResults ? _c('div', {\n staticClass: \"search_results\"\n }, [_vm.isAjax ? _c('div', {\n staticClass: \"no_result\"\n }, [_c('p', [_vm._v(\"Searching...\")])]) : _c('div', [_vm.results === null ? _c('div', {\n staticClass: \"no_result\"\n }, [_c('p', {\n staticClass: \"icon\"\n }, [_c('fa', {\n attrs: {\n \"icon\": \"snowman\"\n }\n })], 1), _c('p', [_vm._v(\"No Results Found\")])]) : _vm._e(), _vm._l(_vm.results, function (res) {\n return _c('search-result', {\n key: _vm.getKey(res),\n staticClass: \"search_result\",\n attrs: {\n \"item\": res\n },\n nativeOn: {\n \"click\": function click($event) {\n return _vm.onSelectResult(res);\n }\n }\n });\n })], 2)]) : _vm._e()])], 1);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _vm.type === \"transaction\" ? _c('transaction-result', {\n staticClass: \"search_result\",\n attrs: {\n \"item\": _vm.item.data\n }\n }) : _vm.type === \"address\" ? _c('address-result', {\n staticClass: \"search_result\",\n attrs: {\n \"item\": _vm.item.data\n }\n }) : _vm.type === \"asset\" ? _c('asset-result', {\n staticClass: \"search_result\",\n attrs: {\n \"item\": _vm.item.data\n }\n }) : _vm._e();\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchResult.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchResult.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SearchResult.vue?vue&type=template&id=2ccbd480&scoped=true&\"\nimport script from \"./SearchResult.vue?vue&type=script&lang=js&\"\nexport * from \"./SearchResult.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SearchResult.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2ccbd480\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchBar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchBar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SearchBar.vue?vue&type=template&id=11a6ae83&scoped=true&\"\nimport script from \"./SearchBar.vue?vue&type=script&lang=js&\"\nexport * from \"./SearchBar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SearchBar.vue?vue&type=style&index=0&id=11a6ae83&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"11a6ae83\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\ninstallComponents(component, {VBtn})\n","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('div', {\n staticClass: \"network_menu\",\n attrs: {\n \"connected\": _vm.status === 'connected'\n },\n on: {\n \"keydown\": function keydown($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"esc\", 27, $event.key, [\"Esc\", \"Escape\"])) { return null; }\n return _vm.closeMenu($event);\n }\n }\n }, [_c('div', {\n staticClass: \"toggle_but\",\n on: {\n \"click\": _vm.toggleMenu\n }\n }, [_vm.status === 'connected' ? _c('img', {\n attrs: {\n \"src\": require(\"@/assets/network_on_\".concat(_vm.networkColor, \".png\"))\n }\n }) : _c('img', {\n attrs: {\n \"src\": require(\"@/assets/network_off_\".concat(_vm.networkColor, \".png\"))\n }\n }), _vm.status === 'connected' ? _c('button', {\n staticClass: \"but_primary\"\n }, [_vm._v(\" \" + _vm._s(_vm.activeNetwork.name) + \" \")]) : _vm.status === 'connecting' ? _c('button', [_vm._v(\"Connecting...\")]) : _c('button', [_vm._v(\"Disconnected\")]), _c('fa', {\n staticClass: \"caret\",\n attrs: {\n \"icon\": \"angle-down\"\n }\n })], 1), _c('transition-group', {\n attrs: {\n \"name\": \"fade\"\n }\n }, [_vm.isModalOpen ? _c('div', {\n key: \"body\",\n staticClass: \"network_body\"\n }, [_c('div', {\n staticClass: \"header\"\n }, [_vm.page === 'list' ? [_c('h4', [_vm._v(\"Switch Networks\")])] : _vm._e()], 2), _c('transition', {\n attrs: {\n \"name\": \"fade\",\n \"mode\": \"out-in\"\n }\n }, [_vm.page === 'list' ? _c('ListPage') : _vm._e()], 1)], 1) : _vm._e(), _vm.isModalOpen ? _c('div', {\n key: \"bg\",\n staticClass: \"network_dispose_bg\",\n on: {\n \"click\": _vm.closeMenu\n }\n }) : _vm._e()])], 1);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('div', [_c('div', {\n staticClass: \"networks_list\"\n }, _vm._l(_vm.networks, function (net) {\n return _c('NetworkRow', {\n key: net.id,\n staticClass: \"network_row\",\n attrs: {\n \"network\": net\n }\n });\n }), 1)]);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('a', {\n staticClass: \"network_row\",\n attrs: {\n \"active\": _vm.isSelected,\n \"href\": _vm.explorerFEUrl\n }\n }, [_vm.isSelected ? _c('img', {\n attrs: {\n \"src\": \"img/ava_logo_\".concat(_vm.logoColor, \".png\")\n }\n }) : _c('img', {\n attrs: {\n \"src\": \"img/ava_logo_black.png\"\n }\n }), _c('div', {\n staticClass: \"name_col\"\n }, [_c('p', {\n staticClass: \"name\"\n }, [_vm._v(_vm._s(_vm.network.name))]), _c('p', {\n staticClass: \"url\"\n }, [_vm._v(_vm._s(_vm.endpoint))])]), _c('div', {\n staticClass: \"status_col\"\n }, [!_vm.isSelected ? _c('button', {\n on: {\n \"click\": _vm.select\n }\n }) : !_vm.isConnected ? _c('button', {\n staticClass: \"connecting\"\n }, [_vm._v(\" Connecting... \")]) : _c('p', {\n staticClass: \"connected\"\n }, [_vm._v(\"Connected\")])])]);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport 'reflect-metadata'\nimport { Vue, Component, Prop } from 'vue-property-decorator'\nimport Network from '@/js/Network'\nimport { DEFAULT_NETWORK_ID } from '@/store/modules/network/network'\n\n@Component({})\nexport default class NetworkRow extends Vue {\n @Prop() network!: Network\n\n get endpoint(): string {\n const net = this.network\n let portText = ''\n if (net.port) {\n portText = ':' + net.port\n }\n return `${net.protocol}://${net.ip}${portText}`\n }\n\n get networkStatus(): string {\n return this.$store.state.Network.status\n }\n\n get isConnected(): boolean {\n const state = this.$store.state.Network\n return this.network === state.selectedNetwork &&\n this.networkStatus === 'connected'\n ? true\n : false\n }\n\n get isSelected(): boolean {\n const state = this.$store.state.Network\n return this.network === state.selectedNetwork ? true : false\n }\n\n get explorerFEUrl() {\n const net = this.network\n return net.explorerFEUrl\n }\n\n get logoColor() {\n return DEFAULT_NETWORK_ID === 1 ? 'red' : 'blue'\n }\n\n async select() {\n const net = this.network\n window.location.href = net.explorerFEUrl\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NetworkRow.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NetworkRow.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NetworkRow.vue?vue&type=template&id=18a0263c&scoped=true&\"\nimport script from \"./NetworkRow.vue?vue&type=script&lang=ts&\"\nexport * from \"./NetworkRow.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./NetworkRow.vue?vue&type=style&index=0&id=18a0263c&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"18a0263c\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\nimport 'reflect-metadata'\nimport { Vue, Component } from 'vue-property-decorator'\nimport Network from '@/js/Network'\nimport NetworkRow from './NetworkRow.vue'\n\n@Component({\n components: {\n NetworkRow,\n },\n})\nexport default class ListPage extends Vue {\n get networks(): Network[] {\n return this.$store.state.Network.networks\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListPage.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListPage.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ListPage.vue?vue&type=template&id=51aa10dc&scoped=true&\"\nimport script from \"./ListPage.vue?vue&type=script&lang=ts&\"\nexport * from \"./ListPage.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ListPage.vue?vue&type=style&index=0&id=51aa10dc&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"51aa10dc\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport 'reflect-metadata'\nimport { Vue, Component } from 'vue-property-decorator'\nimport Network from '@/js/Network'\nimport ListPage from './ListPage.vue'\nimport { DEFAULT_NETWORK_ID } from '@/store/modules/network/network'\n\n@Component({\n components: {\n ListPage,\n },\n})\nexport default class NetworkMenu extends Vue {\n page = 'list' // list, custom, edit (disabled)\n isModalOpen = false\n\n toggleMenu(): void {\n this.isModalOpen = !this.isModalOpen\n }\n\n viewList(): void {\n this.page = 'list'\n }\n\n closeMenu(): void {\n this.page = 'list'\n this.isModalOpen = false\n }\n\n get status(): string {\n return this.$store.state.Network.status\n }\n\n get activeNetwork(): Network | null {\n return this.$store.state.Network.selectedNetwork\n }\n\n get networks(): Network {\n return this.$store.state.Network.networks\n }\n\n get networkColor(): string {\n return DEFAULT_NETWORK_ID === 1 ? 'primary' : 'white'\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NetworkMenu.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NetworkMenu.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NetworkMenu.vue?vue&type=template&id=234ed566&scoped=true&\"\nimport script from \"./NetworkMenu.vue?vue&type=script&lang=ts&\"\nexport * from \"./NetworkMenu.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./NetworkMenu.vue?vue&type=style&index=0&id=234ed566&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"234ed566\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavBar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavBar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./NavBar.vue?vue&type=template&id=6113305d&scoped=true&\"\nimport script from \"./NavBar.vue?vue&type=script&lang=js&\"\nexport * from \"./NavBar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NavBar.vue?vue&type=style&index=0&id=6113305d&scoped=true&lang=scss&\"\nimport style1 from \"./NavBar.vue?vue&type=style&index=1&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6113305d\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAppBar } from 'vuetify/lib/components/VAppBar';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VAppBar,VProgressCircular,VSpacer})\n","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('div', {\n staticClass: \"navbar_mobile\"\n }, [_c('div', {\n staticClass: \"inner\"\n }, [_c('div', {\n staticClass: \"logo\"\n }, [_c('a', {\n attrs: {\n \"href\": _vm.cChainURL\n }\n }, [_c('img', {\n staticStyle: {\n \"height\": \"20px\"\n },\n attrs: {\n \"src\": require(\"@/assets/explorer_logo_\".concat(_vm.logoColor, \".png\"))\n }\n }), _vm._m(0)])]), _c('div', {\n staticClass: \"buttons\"\n }, [_c('NetworkMenu'), _c('v-btn', {\n staticClass: \"search_btn\",\n attrs: {\n \"icon\": \"\"\n },\n on: {\n \"click\": function click($event) {\n _vm.isSearch = !_vm.isSearch;\n }\n }\n }, [_c('fa', {\n attrs: {\n \"icon\": \"search\"\n }\n })], 1), _c('v-btn', {\n attrs: {\n \"icon\": \"\"\n },\n on: {\n \"click\": function click($event) {\n _vm.isDrawer = !_vm.isDrawer;\n }\n }\n }, [_c('fa', {\n attrs: {\n \"icon\": \"bars\"\n }\n })], 1)], 1)]), _c('v-navigation-drawer', {\n staticStyle: {\n \"z-index\": \"999\"\n },\n attrs: {\n \"fixed\": \"\"\n },\n model: {\n value: _vm.isDrawer,\n callback: function callback($$v) {\n _vm.isDrawer = $$v;\n },\n expression: \"isDrawer\"\n }\n }, [_c('v-list', {\n attrs: {\n \"dense\": \"\",\n \"nav\": \"\"\n }\n }, [_c('v-list-item', [_c('div', {\n staticClass: \"drawer_img_container\"\n }, [_c('img', {\n staticClass: \"drawer_img\",\n attrs: {\n \"src\": require(\"@/assets/explorer_logo_\".concat(_vm.logoColor, \".png\"))\n }\n })])]), [_c('v-list-item', {\n attrs: {\n \"href\": _vm.cChainURL\n }\n }, [_vm._v(\"Home\")]), _c('v-list-item', {\n attrs: {\n \"to\": \"/subnets\"\n }\n }, [_vm._v(\"Subnets\")]), _c('v-list-item', {\n attrs: {\n \"to\": \"/validators\"\n }\n }, [_vm._v(\"Validators\")]), _c('v-list-item', {\n attrs: {\n \"href\": _vm.tokensURL\n }\n }, [_vm._v(\"Tokens\")]), _c('v-list-item', {\n attrs: {\n \"to\": \"/blockchains\"\n }\n }, [_vm._v(\"Blockchains\")]), _c('v-list-item', {\n attrs: {\n \"to\": \"/tx\"\n }\n }, [_vm._v(\"Transactions\")]), _vm.isMainnet ? _c('v-list-item', {\n attrs: {\n \"href\": _vm.statsURL\n }\n }, [_vm._v(\"Stats\")]) : _vm._e(), _c('v-list-item', {\n attrs: {\n \"href\": _vm.cChainURL\n }\n }, [_vm._v(\"C-Chain\")]), _c('v-list-item', {\n attrs: {\n \"href\": _vm.statusPageURL\n }\n }, [_vm._v(\"Status\")]), _c('v-list-item', {\n attrs: {\n \"to\": \"/resources\"\n }\n }, [_vm._v(\"Resources\")])]], 2)], 1), _c('v-dialog', {\n attrs: {\n \"fullscreen\": \"\",\n \"hide-overlay\": \"\",\n \"transition\": \"dialog-bottom-transition\"\n },\n model: {\n value: _vm.isSearch,\n callback: function callback($$v) {\n _vm.isSearch = $$v;\n },\n expression: \"isSearch\"\n }\n }, [_c('v-card', [_vm.isSearch ? _c('div', {\n staticClass: \"search_container\"\n }, [_c('SearchBarMobile', {\n staticClass: \"search_bar\",\n attrs: {\n \"placeholder\": \"Search by Address / TxId / Asset\"\n },\n on: {\n \"search\": _vm.onsearch,\n \"change\": _vm.closeSearch\n }\n })], 1) : _vm._e()])], 1)], 1);\n}\nvar staticRenderFns = [function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('h1', [_c('span', {\n staticClass: \"hide\"\n }, [_vm._v(\"Avalanche Explorer\")])]);\n}]\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('div', {\n staticClass: \"search_bar\"\n }, [_c('v-btn', {\n attrs: {\n \"color\": \"#FFF\",\n \"loading\": _vm.isAjax,\n \"depressed\": \"\"\n },\n on: {\n \"click\": _vm.search\n }\n }, [_c('fa', {\n attrs: {\n \"icon\": \"search\"\n }\n })], 1), _c('input', {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.searchValue,\n expression: \"searchValue\"\n }],\n ref: \"input\",\n attrs: {\n \"type\": \"text\",\n \"placeholder\": _vm.placeholder\n },\n domProps: {\n \"value\": _vm.searchValue\n },\n on: {\n \"keyup\": function keyup($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")) { return null; }\n return _vm.search($event);\n },\n \"input\": [function ($event) {\n if ($event.target.composing) { return; }\n _vm.searchValue = $event.target.value;\n }, _vm.oninput],\n \"focus\": _vm.onfocus,\n \"blur\": _vm.onblur\n }\n }), _c('v-btn', {\n attrs: {\n \"icon\": \"\"\n },\n on: {\n \"click\": _vm.closeSearch\n }\n }, [_c('fa', {\n attrs: {\n \"icon\": \"times\"\n }\n })], 1), _c('transition', {\n attrs: {\n \"name\": \"fade\"\n }\n }, [_vm.showResults ? _c('div', {\n staticClass: \"search_results\"\n }, [_vm.isAjax ? _c('div', {\n staticClass: \"no_result\"\n }, [_c('p', [_vm._v(\"Searching...\")])]) : _c('div', [_vm.results.length === 0 ? _c('div', {\n staticClass: \"no_result\"\n }, [_c('p', {\n staticClass: \"icon\"\n }, [_c('fa', {\n attrs: {\n \"icon\": \"snowman\"\n }\n })], 1), _c('p', [_vm._v(\"No Results Found\")])]) : _vm._e(), _vm._l(_vm.results, function (res) {\n return _c('search-result', {\n key: _vm.getKey(res),\n staticClass: \"search_result\",\n attrs: {\n \"item\": res\n },\n nativeOn: {\n \"click\": function click($event) {\n return _vm.onSelectResult(res);\n }\n }\n });\n })], 2)]) : _vm._e()])], 1);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchBarMobile.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchBarMobile.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SearchBarMobile.vue?vue&type=template&id=5db72128&scoped=true&\"\nimport script from \"./SearchBarMobile.vue?vue&type=script&lang=js&\"\nexport * from \"./SearchBarMobile.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SearchBarMobile.vue?vue&type=style&index=0&id=5db72128&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5db72128\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\ninstallComponents(component, {VBtn})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Vue, Component } from 'vue-property-decorator'\nimport SearchBarMobile from '@/components/misc/SearchBar/SearchBarMobile.vue'\nimport NetworkMenu from './NetworkSettings/NetworkMenu.vue'\nimport {\n DEFAULT_NETWORK_ID,\n cChainExplorerURL,\n cChainExplorerURL_test,\n statusURL,\n statusURL_test,\n} from '@/store/modules/network/network'\n\n@Component({\n components: {\n SearchBarMobile,\n NetworkMenu,\n },\n})\nexport default class NavbarMobile extends Vue {\n isDrawer = false\n isSearch = false\n\n onsearch(val: string) {\n this.$router.push({ path: '/search', query: { query: val } })\n }\n\n get showSearch() {\n return this.$router.currentRoute.name === 'Home' ? false : true\n }\n\n get logoColor() {\n return DEFAULT_NETWORK_ID === 1 ? 'black' : 'white'\n }\n\n get navColor() {\n return '#fff'\n }\n\n get cChainURL() {\n return DEFAULT_NETWORK_ID === 1\n ? cChainExplorerURL\n : cChainExplorerURL_test\n }\n\n get tokensURL() {\n return DEFAULT_NETWORK_ID === 1\n ? 'https://avascan.info/tokens'\n : 'https://testnet.avascan.info/tokens'\n }\n\n get statsURL() {\n return 'https://stats.avax.network/'\n }\n\n get isMainnet() {\n return DEFAULT_NETWORK_ID === 1 ? true : false\n }\n\n get statusPageURL() {\n return DEFAULT_NETWORK_ID === 1 ? statusURL : statusURL_test\n }\n\n closeSearch(val: boolean) {\n this.isSearch = val\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavBarMobile.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavBarMobile.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NavBarMobile.vue?vue&type=template&id=03a9fdd0&scoped=true&\"\nimport script from \"./NavBarMobile.vue?vue&type=script&lang=ts&\"\nexport * from \"./NavBarMobile.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./NavBarMobile.vue?vue&type=style&index=0&id=03a9fdd0&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"03a9fdd0\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VNavigationDrawer } from 'vuetify/lib/components/VNavigationDrawer';\ninstallComponents(component, {VBtn,VCard,VDialog,VList,VListItem,VNavigationDrawer})\n","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('div', [_vm.networkID === 1 ? [_c('v-alert', {\n staticClass: \"testnet_alert mainnet_announcement\",\n attrs: {\n \"id\": \"mainnet_announce\",\n \"text\": \"\",\n \"rounded\": \"0\"\n }\n }, [_c('p', {\n staticClass: \"description\"\n }, [_vm._v(\" Explore network activity and staking metrics using \"), _c('a', {\n staticClass: \"bold\",\n attrs: {\n \"href\": _vm.statsURL\n }\n }, [_vm._v(\"Avalanche Stats\")]), _vm._v(\". \")])])] : [_c('v-alert', {\n staticClass: \"testnet_alert\",\n attrs: {\n \"text\": \"\",\n \"type\": \"info\",\n \"rounded\": \"0\"\n }\n }, [_c('p', {\n staticClass: \"description\"\n }, [_vm._v(\" Notice: This Explorer displays activity on the \" + _vm._s(_vm.networkName) + \" Testnet, \"), _c('span', {\n staticClass: \"bold\"\n }, [_vm._v(\"not\")]), _vm._v(\" the Avalanche Mainnet. \")])])]], 2);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport 'reflect-metadata'\nimport { Vue, Component } from 'vue-property-decorator'\nimport {\n DEFAULT_NETWORK_ID,\n DEFAULT_NETWORK_NAME,\n} from '@/store/modules/network/network'\n\n@Component({})\nexport default class TestnetAlert extends Vue {\n get networkID(): number {\n return DEFAULT_NETWORK_ID\n }\n\n get networkName(): string {\n return DEFAULT_NETWORK_NAME\n }\n\n get statsURL() {\n return 'https://stats.avax.network/'\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TestnetAlert.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TestnetAlert.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TestnetAlert.vue?vue&type=template&id=6b0295eb&scoped=true&\"\nimport script from \"./TestnetAlert.vue?vue&type=script&lang=ts&\"\nexport * from \"./TestnetAlert.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TestnetAlert.vue?vue&type=style&index=0&id=6b0295eb&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6b0295eb\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\ninstallComponents(component, {VAlert})\n","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('v-footer', {\n attrs: {\n \"color\": \"#FFF\"\n }\n }, [_c('div', {\n staticClass: \"footer_container\"\n }, [_c('div', {\n staticClass: \"powered_by\"\n }, [_c('div', {\n staticClass: \"header\"\n }, [_c('img', {\n attrs: {\n \"src\": _vm.img\n }\n }), _c('h4', [_vm._v(\"Avalanche Explorer\")])]), _c('p', {\n staticClass: \"avalanche_desc\"\n }, [_vm._v(\" Avalanche Explorer is an analytics tool that enables people to search the Avalanche blockchain for transactions, addresses, and other platform activities. \")]), _c('p', {\n staticClass: \"avalanche_desc tos\"\n }, [_vm._v(\" By using this application you agree to the \"), _c('a', {\n attrs: {\n \"href\": \"/Avalanche (BVI) Inc. Explorer Terms of Use.pdf\",\n \"target\": \"_blank\"\n }\n }, [_vm._v(\"Terms of Use\")]), _vm._v(\". \")])]), _c('div', {\n staticClass: \"lists\"\n }, [_c('div', {\n staticClass: \"list\"\n }, [_c('h4', [_vm._v(\"Menu\")]), _c('a', {\n attrs: {\n \"href\": _vm.cChainURL\n }\n }, [_vm._v(\"Home\")]), _c('router-link', {\n attrs: {\n \"to\": \"/subnets\"\n }\n }, [_vm._v(\"Subnets\")]), _c('router-link', {\n attrs: {\n \"to\": \"/validators\"\n }\n }, [_vm._v(\"Validators\")]), _c('router-link', {\n attrs: {\n \"to\": \"/assets\"\n }\n }, [_vm._v(\"Assets\")]), _c('router-link', {\n attrs: {\n \"to\": \"/blockchains\"\n }\n }, [_vm._v(\"Blockchains\")]), _c('a', {\n attrs: {\n \"href\": _vm.cChainURL\n }\n }, [_vm._v(\"C-Chain\")]), _c('a', {\n attrs: {\n \"href\": _vm.statusPageURL\n }\n }, [_vm._v(\"Status\")]), _c('router-link', {\n attrs: {\n \"to\": \"/resources\"\n }\n }, [_vm._v(\"Resources\")])], 1), _c('div', {\n staticClass: \"list\"\n }, [_c('h4', [_vm._v(\"Social\")]), _c('a', {\n attrs: {\n \"href\": \"https://twitter.com/avalancheavax\",\n \"target\": \"_blank\"\n }\n }, [_c('fa', {\n attrs: {\n \"icon\": ['fab', 'twitter']\n }\n }), _vm._v(\"Twitter \")], 1), _c('a', {\n attrs: {\n \"href\": \"https://chat.avax.network\",\n \"target\": \"_blank\"\n }\n }, [_c('fa', {\n attrs: {\n \"icon\": ['fab', 'discord']\n }\n }), _vm._v(\"Discord \")], 1), _c('a', {\n attrs: {\n \"href\": \"https://reddit.com/r/avax\",\n \"target\": \"_blank\"\n }\n }, [_c('fa', {\n attrs: {\n \"icon\": ['fab', 'reddit']\n }\n }), _vm._v(\"Reddit \")], 1), _c('a', {\n attrs: {\n \"href\": \"https://github.com/ava-labs/avalanche-explorer\",\n \"target\": \"_blank\"\n }\n }, [_c('fa', {\n attrs: {\n \"icon\": ['fab', 'github']\n }\n }), _vm._v(\"GitHub \")], 1)])])])]);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Vue, Component } from 'vue-property-decorator'\nimport {\n DEFAULT_NETWORK_ID,\n cChainExplorerURL,\n cChainExplorerURL_test,\n statusURL,\n statusURL_test,\n} from '@/store/modules/network/network'\n\n@Component({})\nexport default class Footer extends Vue {\n get cChainURL() {\n return DEFAULT_NETWORK_ID === 1\n ? cChainExplorerURL\n : cChainExplorerURL_test\n }\n\n get statusPageURL() {\n return DEFAULT_NETWORK_ID === 1 ? statusURL : statusURL_test\n }\n\n get img() {\n const color = DEFAULT_NETWORK_ID === 1 ? `black` : `blue`\n return `/img/ava_logo_${color}.png`\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Footer.vue?vue&type=template&id=28519f90&scoped=true&\"\nimport script from \"./Footer.vue?vue&type=script&lang=ts&\"\nexport * from \"./Footer.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Footer.vue?vue&type=style&index=0&id=28519f90&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"28519f90\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VFooter } from 'vuetify/lib/components/VFooter';\ninstallComponents(component, {VFooter})\n","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('div', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.items.length > 0,\n expression: \"items.length > 0\"\n }],\n staticClass: \"notifications\"\n }, [_c('transition-group', {\n attrs: {\n \"name\": \"list\"\n }\n }, _vm._l(_vm.items, function (notif) {\n return _c('div', {\n key: notif.id,\n staticClass: \"notif_item\"\n }, [_c('p', {\n staticClass: \"notif_title\",\n style: {\n backgroundColor: notif.color\n }\n }, [_vm._v(\" \" + _vm._s(notif.title) + \" \")]), _c('p', {\n staticClass: \"notif_msg\"\n }, [_vm._v(_vm._s(notif.message))])]);\n }), 0)], 1);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Notifications.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Notifications.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Notifications.vue?vue&type=template&id=8224f5e4&scoped=true&\"\nimport script from \"./Notifications.vue?vue&type=script&lang=js&\"\nexport * from \"./Notifications.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Notifications.vue?vue&type=style&index=0&id=8224f5e4&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"8224f5e4\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue'\nimport NavBar from '@/components/NavBar.vue'\nimport NavBarMobile from '@/components/NavBarMobile.vue'\nimport TestnetAlert from '@/components/misc/TestnetAlert.vue'\n// import ResponsiveGuidelines from '@/components/misc/ResponsiveGuidelines.vue'\nimport Footer from '@/components/Footer.vue'\nimport { IMetaTag } from '@/router/IMetaTag'\nimport Notifications from '@/components/Notifications.vue'\n\nexport default Vue.extend({\n name: 'App',\n components: {\n NavBar,\n NavBarMobile,\n // ResponsiveGuidelines,\n TestnetAlert,\n Footer,\n Notifications,\n },\n data: () => ({}),\n watch: {\n $route: {\n handler: (to) => {\n // Remove stale tags from the document using key attribute\n Array.from(document.querySelectorAll('[vue-router-data]')).map(\n (el) => {\n if (el.parentNode) {\n el.parentNode.removeChild(el)\n return\n }\n }\n )\n // Update tags\n document.title = to.meta.title || 'Avalanche Explorer'\n if (to.meta.metaTags) {\n to.meta.metaTags\n .map((tagDef: IMetaTag) => {\n const tag = document.createElement('meta')\n Object.keys(tagDef).forEach((key) =>\n tag.setAttribute(key, tagDef[key])\n )\n tag.setAttribute('vue-router-data', '')\n return tag\n })\n .forEach((tag: HTMLMetaElement) =>\n document.head.appendChild(tag)\n )\n }\n },\n immediate: true,\n },\n },\n async created() {\n this.$store.dispatch('init')\n this.$store.dispatch('Platform/init')\n await this.$store.dispatch('Network/init')\n },\n})\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--14-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--14-3!../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--14-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--14-3!../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=3f6e7982&scoped=true&\"\nimport script from \"./App.vue?vue&type=script&lang=ts&\"\nexport * from \"./App.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=3f6e7982&scoped=true&lang=scss&\"\nimport style1 from \"./App.vue?vue&type=style&index=1&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3f6e7982\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VApp } from 'vuetify/lib/components/VApp';\nimport { VContent } from 'vuetify/lib/components/VContent';\ninstallComponents(component, {VApp,VContent})\n","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('div', {\n staticClass: \"home\"\n }, [_c('RecentTransactions', {\n staticClass: \"card recent_tx\"\n })], 1);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('div', {\n staticClass: \"recent_tx\"\n }, [_c('RecentTxHeader', {\n attrs: {\n \"heading\": \"Recent Transactions\",\n \"loading\": _vm.loading\n },\n on: {\n \"update\": _vm.updateTx\n }\n }), _c('div', {\n staticClass: \"list\"\n }, [_c('TxTableHead'), _vm.transactions ? [_vm.transactions.length > 0 ? _c('transition-group', {\n attrs: {\n \"name\": \"fade\"\n }\n }, _vm._l(_vm.transactions, function (tx) {\n return _c('TxRow', {\n key: tx.id,\n staticClass: \"recent_tx_rows\",\n attrs: {\n \"transaction\": tx\n }\n });\n }), 1) : _vm._e(), _vm.transactions.length === 0 ? _c('div', [_c('v-progress-circular', {\n key: \"1\",\n attrs: {\n \"size\": 16,\n \"width\": 2,\n \"color\": \"#E84970\",\n \"indeterminate\": \"\"\n }\n })], 1) : _vm._e()] : _vm._e()], 2)], 1);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('div', {\n staticClass: \"header\"\n }, [_c('div', {\n staticClass: \"left\"\n }, [_c('h2', [_vm._v(_vm._s(_vm.heading))]), _c('v-alert', {\n staticClass: \"testnet_alert\",\n attrs: {\n \"text\": \"\",\n \"type\": \"info\",\n \"rounded\": \"0\"\n }\n }, [_c('p', {\n staticClass: \"description\"\n }, [_vm._v(\" Notice: This explorer only indexes the X-Chain and P-Chain. To view C-Chain transactions (EVM chain), click \"), _c('a', {\n staticClass: \"bold c_chain_link\",\n attrs: {\n \"href\": _vm.cChainURL\n }\n }, [_vm._v(\"here\")]), _vm._v(\". \")])]), _c('p', {\n staticClass: \"chain\"\n }, [_c('span', {\n staticClass: \"label\"\n }, [_vm._v(\"You are viewing transactions for\")]), _c('v-tooltip', {\n scopedSlots: _vm._u([{\n key: \"activator\",\n fn: function fn(_ref) {\n var on = _ref.on;\n return [_c('span', _vm._g({\n staticClass: \"chain_tag\",\n style: {\n backgroundColor: _vm.pChain.darkColor\n }\n }, on), [_vm._v(_vm._s(_vm.pChain.name))])];\n }\n }])\n }, [_c('span', [_vm._v(\"The P-Chain is the metadata blockchain on Avalanche, managing validators and custom subnets. Validators stake AVAX on the P-Chain to secure the network.\")])]), _c('v-tooltip', {\n scopedSlots: _vm._u([{\n key: \"activator\",\n fn: function fn(_ref2) {\n var on = _ref2.on;\n return [_c('span', _vm._g({\n staticClass: \"chain_tag margin-left\",\n style: {\n backgroundColor: _vm.xChain.darkColor\n }\n }, on), [_vm._v(_vm._s(_vm.xChain.name))])];\n }\n }])\n }, [_c('span', [_vm._v(\"The X-Chain is the default asset blockchain on Avalanche enabling the creation and instant exchange of assets. This blockchain is for transfers that benefit from high-throughput and instant finality. Think X for eXchanging assets. \")])]), _c('v-tooltip', {\n scopedSlots: _vm._u([{\n key: \"activator\",\n fn: function fn(_ref3) {\n var on = _ref3.on;\n return [_c('span', _vm._g({\n staticClass: \"chain_tag margin-left\",\n style: {\n backgroundColor: _vm.cChain.darkColor\n }\n }, on), [_vm._v(_vm._s(_vm.cChain.name) + \" (atomic txs only)\")])];\n }\n }])\n }, [_c('span', [_vm._v(\"The C-Chain is the default smart contract blockchain on Avalanche and enables the creation of any Ethereum-compatible applications and assets with lower fees and faster transactions.\")])])], 1)], 1), _c('div', {\n staticClass: \"right\",\n attrs: {\n \"bottom\": \"\"\n }\n }, [_c('v-btn', {\n staticClass: \"refresh ava_btn\",\n attrs: {\n \"loading\": _vm.loading,\n \"text\": true\n },\n on: {\n \"click\": _vm.updateTx\n }\n }, [_c('fa', {\n attrs: {\n \"icon\": \"sync\"\n }\n }), _c('span', {\n staticClass: \"ava-btn-label\"\n }, [_vm._v(\"Refresh\")])], 1), _c('v-btn', {\n staticClass: \"ava_btn\",\n attrs: {\n \"text\": true\n },\n on: {\n \"click\": _vm.goToTx\n }\n }, [_vm._v(\" View All Transactions \")])], 1)]);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport 'reflect-metadata'\nimport { Vue, Component, Prop } from 'vue-property-decorator'\nimport { P, X, C, getTxChainType } from '@/known_blockchains'\nimport {\n DEFAULT_NETWORK_ID,\n cChainExplorerURL,\n cChainExplorerURL_test,\n} from '@/store/modules/network/network'\n\n@Component({\n components: {},\n})\nexport default class RecentTxHeader extends Vue {\n @Prop() heading!: string\n @Prop() loading!: boolean\n\n updateTx() {\n this.$emit('update')\n }\n\n get xChain() {\n return getTxChainType(X.id)\n }\n\n get pChain() {\n return getTxChainType(P.id)\n }\n\n get cChain() {\n return getTxChainType(C.id)\n }\n\n get cChainURL() {\n return DEFAULT_NETWORK_ID === 1\n ? cChainExplorerURL\n : cChainExplorerURL_test\n }\n\n goToTx() {\n this.$router.push('/tx')\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecentTxHeader.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecentTxHeader.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RecentTxHeader.vue?vue&type=template&id=db8474e4&scoped=true&\"\nimport script from \"./RecentTxHeader.vue?vue&type=script&lang=ts&\"\nexport * from \"./RecentTxHeader.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./RecentTxHeader.vue?vue&type=style&index=0&id=db8474e4&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"db8474e4\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VAlert,VBtn,VTooltip})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Vue, Component } from 'vue-property-decorator'\nimport Tooltip from '@/components/rows/Tooltip.vue'\nimport TxTableHead from '@/components/rows/TxRow/TxTableHead.vue'\nimport TxRow from '@/components/rows/TxRow/TxRow.vue'\nimport { ITransaction } from '@/store/modules/transactions/models'\nimport RecentTxHeader from '@/components/Transaction/RecentTxHeader.vue'\n\n@Component({\n components: {\n Tooltip,\n TxTableHead,\n TxRow,\n RecentTxHeader,\n },\n})\nexport default class RecentTransactions extends Vue {\n loading = false\n poller = 0\n limit = 25\n sort = 'timestamp-desc'\n\n created() {\n this.poller = window.setInterval(() => this.pollForTxUpdates(), 5000)\n /**\n * In case you need to kill the interval while developing, to apply styles live or whatever\n * window.dispatchEvent(new CustomEvent('TRANSACTION_POLLING:KILL'))\n */\n window.addEventListener(\n 'TRANSACTION_POLLING:KILL',\n this.killPollingInterval.bind(this)\n )\n }\n\n private killPollingInterval() {\n window.clearInterval(this.poller)\n }\n\n destroyed() {\n this.killPollingInterval()\n window.removeEventListener(\n 'TRANSACTION_POLLING:KILL',\n this.killPollingInterval.bind(this)\n )\n }\n\n get assetsLoaded(): boolean {\n return this.$store.state.assetsLoaded\n }\n\n get transactions(): ITransaction[] {\n return this.$store.state.recentTxRes.transactions\n }\n\n async updateTx(): Promise {\n this.loading = true\n if (this.assetsLoaded) {\n await this.$store.dispatch('getRecentTransactions', {\n id: null,\n params: {\n sort: this.sort,\n limit: this.limit,\n },\n })\n this.loading = false\n }\n }\n\n pollForTxUpdates(): void {\n this.$store.dispatch('getRecentTransactions', {\n id: null,\n params: {\n sort: this.sort,\n limit: this.limit,\n },\n })\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecentTransactions.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecentTransactions.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RecentTransactions.vue?vue&type=template&id=38874a06&scoped=true&\"\nimport script from \"./RecentTransactions.vue?vue&type=script&lang=ts&\"\nexport * from \"./RecentTransactions.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./RecentTransactions.vue?vue&type=style&index=0&id=38874a06&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"38874a06\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\ninstallComponents(component, {VProgressCircular})\n","\n\n\n\n\n\n\nimport { Vue, Component } from 'vue-property-decorator'\nimport RecentTransactions from '@/components/Home/RecentTransactions.vue'\n\n@Component({\n components: {\n RecentTransactions,\n },\n})\nexport default class Home extends Vue {}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=238a921e&scoped=true&\"\nimport script from \"./Home.vue?vue&type=script&lang=ts&\"\nexport * from \"./Home.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Home.vue?vue&type=style&index=0&id=238a921e&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"238a921e\",\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\nimport VueRouter from 'vue-router'\nimport Home from '../views/Home.vue'\nimport { IMetaTag } from '@/router/IMetaTag'\nimport {\n DEFAULT_NETWORK_ID,\n cChainExplorerURL,\n cChainExplorerURL_test,\n} from '@/store/modules/network/network'\n\nVue.use(VueRouter)\n\nconst suffix = ' | Avalanche Explorer'\nconst description =\n 'Avalanche Explorer is an analytics tool that enables people to search the Avalanche blockchain for transactions, addresses, and other platform activities.'\nconst defaultMetaTags: IMetaTag[] = [\n {\n name: 'description',\n content: description,\n },\n {\n property: 'og:description',\n content: description,\n },\n]\n\nconst cChainURL =\n DEFAULT_NETWORK_ID === 1 ? cChainExplorerURL : cChainExplorerURL_test\n\nconst routes = [\n {\n path: '/',\n name: 'Home',\n component: Home,\n meta: {\n auth: false,\n title: 'View All Activities' + suffix,\n metaTags: defaultMetaTags,\n },\n beforeEnter() {\n if (window.location.href !== cChainURL) {\n window.location.href = cChainURL\n }\n },\n },\n {\n path: '/subnets',\n name: 'Subnets',\n component: () =>\n import(/* webpackChunkName: \"subnets\" */ '../views/Subnets.vue'),\n meta: {\n auth: false,\n title: 'Subnets' + suffix,\n metaTags: defaultMetaTags,\n },\n },\n {\n path: '/subnet/:id',\n name: 'Subnet',\n component: () =>\n import(/* webpackChunkName: \"subnet\" */ '../views/Subnet.vue'),\n meta: {\n auth: false,\n title: 'Subnet' + suffix,\n metaTags: defaultMetaTags,\n },\n },\n {\n path: '/validators',\n name: 'Validators',\n component: () =>\n import(\n /* webpackChunkName: \"validators\" */ '../views/Validators.vue'\n ),\n meta: {\n auth: false,\n title: 'Validators Transparency' + suffix,\n metaTags: [\n {\n name: 'description',\n content:\n 'Avalanche Explorer for validators is the perfect analytics tool that enables transactions, addresses, and other platform transparency.',\n },\n {\n property: 'og:description',\n content:\n 'Avalanche Explorer for validators is the perfect analytics tool that enables transactions, addresses, and other platform transparency.',\n },\n ],\n },\n },\n {\n path: '/tx',\n name: 'Transactions',\n component: () =>\n import(\n /* webpackChunkName: \"transactions\" */ '../views/Transactions.vue'\n ),\n meta: {\n auth: false,\n title: 'Transactions' + suffix,\n metaTags: [\n {\n name: 'description',\n content:\n 'View transactions on P-Chain, X-Chain, and C-Chain with the Avalanche Explorer. Providing our community of individuals, developers, and investors piece of mind.',\n },\n {\n property: 'og:description',\n content:\n 'View transactions on P-Chain, X-Chain, and C-Chain with the Avalanche Explorer. Providing our community of individuals, developers, and investors piece of mind.',\n },\n ],\n },\n },\n {\n path: '/tx/:id',\n name: 'Transaction',\n component: () =>\n import(\n /* webpackChunkName: \"transaction\" */ '../views/Transaction.vue'\n ),\n meta: {\n auth: false,\n title: 'Transaction' + suffix,\n metaTags: [\n {\n name: 'description',\n content:\n 'View transactions on P-Chain, X-Chain, and C-Chain with the Avalanche Explorer. Providing our community of individuals, developers, and investors piece of mind.',\n },\n {\n property: 'og:description',\n content:\n 'View transactions on P-Chain, X-Chain, and C-Chain with the Avalanche Explorer. Providing our community of individuals, developers, and investors piece of mind.',\n },\n ],\n },\n },\n {\n path: '/evmtx/:id',\n name: 'EVM Transaction',\n component: () =>\n import(\n /* webpackChunkName: \"evmtransaction\" */ '../views/EVMTransaction.vue'\n ),\n meta: {\n auth: false,\n title: 'Transaction' + suffix,\n metaTags: defaultMetaTags,\n },\n },\n {\n path: '/evmblock/:id',\n name: 'EVM Block',\n component: () =>\n import(/* webpackChunkName: \"evmblock\" */ '../views/EVMBlock.vue'),\n meta: {\n auth: false,\n title: 'Block' + suffix,\n metaTags: defaultMetaTags,\n },\n },\n {\n path: '/evmaddress/:id',\n name: 'EVM Address',\n component: () =>\n import(\n /* webpackChunkName: \"evmaddress\" */ '../views/EVMAddress.vue'\n ),\n meta: {\n auth: false,\n title: 'Address' + suffix,\n metaTags: defaultMetaTags,\n },\n },\n {\n path: '/blockchains',\n name: 'Blockchains',\n component: () =>\n import(\n /* webpackChunkName: \"blockchains\" */ '../views/Blockchains.vue'\n ),\n meta: {\n auth: false,\n title: 'Blockchains' + suffix,\n metaTags: [\n {\n name: 'description',\n content:\n 'Blockchain transparency with the Avalanche Explorer enables people to search for transactions, addresses, and other platform activities.',\n },\n {\n property: 'og:description',\n content:\n 'Blockchain transparency with the Avalanche Explorer enables people to search for transactions, addresses, and other platform activities.',\n },\n ],\n },\n },\n {\n path: '/blockchain/:id',\n name: 'Blockchain',\n component: () =>\n import(\n /* webpackChunkName: \"blockchains\" */ '../views/Blockchain.vue'\n ),\n meta: {\n auth: false,\n title: 'Blockchain' + suffix,\n metaTags: [\n {\n name: 'description',\n content:\n 'Blockchain transparency with the Avalanche Explorer enables people to search for transactions, addresses, and other platform activities.',\n },\n {\n property: 'og:description',\n content:\n 'Blockchain transparency with the Avalanche Explorer enables people to search for transactions, addresses, and other platform activities.',\n },\n ],\n },\n },\n {\n path: '/assets',\n name: 'Assets',\n component: () =>\n import(/* webpackChunkName: \"assets\" */ '../views/Assets.vue'),\n beforeEnter() {\n const NETWORK_ID = parseInt(\n process.env.VUE_APP_DEFAULT_NETWORKID || '1'\n )\n window.location.href =\n NETWORK_ID === 1\n ? 'https://avascan.info/tokens'\n : 'https://testnet.avascan.info/tokens'\n },\n meta: {\n auth: false,\n title: 'Assets' + suffix,\n metaTags: defaultMetaTags,\n },\n },\n {\n path: '/asset/:id',\n name: 'Asset',\n component: () =>\n import(/* webpackChunkName: \"asset\" */ '../views/Asset.vue'),\n meta: {\n auth: false,\n title: 'Asset' + suffix,\n metaTags: defaultMetaTags,\n },\n },\n {\n path: '/addresses',\n name: 'Addresses',\n component: () =>\n import(\n /* webpackChunkName: \"addresses\" */ '../views/Addresses.vue'\n ),\n meta: {\n auth: false,\n title: 'Addresses' + suffix,\n metaTags: defaultMetaTags,\n },\n },\n {\n path: '/address/:address',\n name: 'Address',\n component: () =>\n import(/* webpackChunkName: \"address\" */ '../views/Address.vue'),\n meta: {\n auth: false,\n title: 'Address' + suffix,\n metaTags: defaultMetaTags,\n },\n },\n {\n path: '/search',\n name: 'Search',\n component: () =>\n import(/* webpackChunkName: \"search\" */ '../views/Search.vue'),\n meta: {\n auth: false,\n title: 'Search' + suffix,\n metaTags: defaultMetaTags,\n },\n },\n {\n path: '/resources',\n name: 'Resources',\n component: () =>\n import(\n /* webpackChunkName: \"resources\" */ '../views/Resources.vue'\n ),\n meta: {\n auth: false,\n title: 'Resources' + suffix,\n metaTags: defaultMetaTags,\n },\n },\n]\n\nconst router = new VueRouter({\n mode: 'history',\n base: process.env.BASE_URL,\n // Scroll to top on route change\n scrollBehavior() {\n return { x: 0, y: 0 }\n },\n routes,\n})\n\nexport default router\n","import Vue from 'vue'\nimport Vuetify from 'vuetify'\n\n// Font Awesome\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n faAngleDown,\n faAngleLeft,\n faAngleRight,\n faArrowLeft,\n faArrowRight,\n faBars,\n faCheck,\n faCheckCircle,\n faCog,\n faCoins,\n faCopy,\n faExclamation,\n faInfo,\n faInfoCircle,\n faFont,\n faLink,\n faSearch,\n faSnowman,\n faSync,\n faTimes,\n} from '@fortawesome/free-solid-svg-icons'\n\nimport { faClock } from '@fortawesome/free-regular-svg-icons'\nimport {\n faTwitter,\n faDiscord,\n faReddit,\n faGithub,\n} from '@fortawesome/free-brands-svg-icons'\nimport { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'\n\nlibrary.add(\n faAngleDown,\n faAngleLeft,\n faAngleRight,\n faArrowLeft,\n faArrowRight,\n faBars,\n faCheck,\n faCheckCircle,\n faClock,\n faCog,\n faCoins,\n faCopy,\n faDiscord,\n faFont,\n faGithub,\n faExclamation,\n faInfo,\n faInfoCircle,\n faLink,\n faReddit,\n faSearch,\n faSnowman,\n faSync,\n faTimes,\n faTwitter\n)\nVue.component('fa', FontAwesomeIcon)\n\nVue.use(Vuetify)\n\nexport default new Vuetify({\n theme: {\n themes: {\n light: {},\n dark: {\n nav_bar: '#fff',\n primary: '#4fb1d6',\n },\n },\n },\n})\n","import { blockchainMap, subnetMap } from '@/helper'\nimport { Asset } from '@/js/Asset'\nimport moment from 'moment'\nimport Vue from 'vue'\n\n// Maps\n\nVue.filter('blockchain', function (val: string) {\n return blockchainMap(val)\n})\n\nVue.filter('subnet', function (val: string) {\n return subnetMap(val)\n})\n\nVue.filter('nameOrID', function (val: Asset) {\n return val.name ? val.name : val.id\n})\n\n// Date and Time\n\nVue.filter('date', function (time: number) {\n return moment(time).format('M/D/YYYY')\n})\n\nVue.filter('time', function (val: number) {\n return moment(val).format('h:mm:ss A')\n})\n\nVue.filter('duration', function (val: number) {\n return moment.duration(val).humanize()\n})\n\nVue.filter('fromNow', function (time: string | number) {\n if (!time) return ''\n return moment(time).fromNow()\n})\n\nVue.filter('toNow', function (time: string) {\n if (!time) return ''\n return moment(time).toNow()\n})\n\n// Pluralize\n\nVue.filter('pluralize', function (val: number | string, unit: string) {\n const num = typeof val === 'string' ? parseInt(val) : val\n return num === 0\n ? `${num} ${unit}s`\n : num > 1\n ? `${num} ${unit}s`\n : `${num} ${unit}`\n})\n\nVue.filter('pluralizeDenomination', function (val: number) {\n return val === 0\n ? `no fractional units`\n : val > 1\n ? `${val} decimal digits`\n : `${val} decimal digit`\n})\n\nVue.filter('pluralizeThreshold', function (val: number) {\n return val === 0\n ? `${val} threshold signatures from addresses are`\n : val > 1\n ? `${val} threshold signatures from addresses are`\n : `${val} threshold signature from address is`\n})\n\nVue.filter(\n 'pluralizeWithoutCount',\n function (val: number | string, unit: string): string {\n const num = typeof val === 'string' ? parseInt(val) : val\n return num === 0 ? `${unit}s` : num > 1 ? `${unit}s` : `${unit}`\n }\n)\n\n// UTXOs\n\nVue.filter('qualifyInput', function (unit: string, type: string): string {\n switch (type) {\n // X <- shared\n case 'import':\n return 'Imported ' + unit\n // P <- shared\n case 'pvm_import':\n return 'Imported ' + unit\n // C <- shared\n case 'atomic_import_tx':\n return 'Imported ' + unit\n default:\n return unit\n }\n})\n\nVue.filter('qualifyOutput', function (unit: string, type: string): string {\n switch (type) {\n // X -> shared\n case 'export':\n return 'Exported ' + unit\n // P -> shared\n case 'pvm_export':\n return 'Exported ' + unit\n // C -> shared\n case 'atomic_export_tx':\n return 'Exported ' + unit\n default:\n return unit\n }\n})\n","import Vue from 'vue'\nimport App from './App.vue'\nimport router from './router'\nimport store from './store'\nimport vuetify from './plugins/vuetify'\nimport Big from 'big.js'\nimport VueAnalytics from 'vue-analytics'\nimport './filters'\n//@ts-ignore\nimport { Datetime } from 'vue-datetime'\nimport 'vue-datetime/dist/vue-datetime.css'\n\nVue.config.productionTip = false\n\nVue.use(VueAnalytics, {\n id: 'UA-126268251-7',\n router,\n})\n\nVue.component('datetime', Datetime)\n\nnew Vue({\n router,\n store,\n vuetify,\n render: (h) => h(App),\n}).$mount('#app')\n\ndeclare module 'big.js' {\n interface Big {\n toLocaleString(toFixed: number): string\n }\n}\n\n// Extending Big.js with a helper function\nBig.prototype.toLocaleString = function (toFixed = 2) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const value = this\n const remainder = value.mod(1)\n const wholeNums = value.minus(remainder)\n const wnInt = parseInt(wholeNums.toFixed(0))\n\n if (toFixed === 0) return wnInt.toLocaleString()\n\n return parseFloat(remainder) === 0\n ? wnInt.toLocaleString()\n : wnInt.toLocaleString() +\n '.' +\n remainder.toFixed(toFixed).split('.')[1].toString()\n}\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecentTxHeader.vue?vue&type=style&index=0&id=db8474e4&scoped=true&lang=scss&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecentTxHeader.vue?vue&type=style&index=0&id=db8474e4&scoped=true&lang=scss&\"","import axios from 'axios'\n\nconst DEFAULT_NETWORK_ID = parseInt(\n process.env.VUE_APP_DEFAULT_NETWORKID || '4'\n)\n\nconst avalancheGoURL =\n DEFAULT_NETWORK_ID === 1\n ? (process.env.VUE_APP_AVALANCHE_GO_URL as string)\n : (process.env.VUE_APP_TEST_AVALANCHE_GO_URL as string)\n\nexport default axios.create({\n baseURL: avalancheGoURL,\n withCredentials: false,\n headers: {\n 'Content-Type': 'application/json',\n },\n})\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavBar.vue?vue&type=style&index=1&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavBar.vue?vue&type=style&index=1&lang=scss&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tooltip.vue?vue&type=style&index=0&id=2a6c5877&scoped=true&lang=scss&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tooltip.vue?vue&type=style&index=0&id=2a6c5877&scoped=true&lang=scss&\"","import * as avalancheJS from 'avalanche'\n\nconst DEFAULT_NETWORK_ID = parseInt(\n process.env.VUE_APP_DEFAULT_NETWORKID || '4'\n)\n\nlet PROTOCOL = ''\nlet IP = ''\nlet PORT = 80\nlet NETWORK_ID = 0\nlet CHAIN_ID = 'X'\n\nif (DEFAULT_NETWORK_ID === 1) {\n PROTOCOL = process.env.VUE_APP_AVALANCHE_JS_PROTOCOL as string\n IP = process.env.VUE_APP_AVALANCHE_JS_IP as string\n PORT = parseInt(process.env.VUE_APP_AVALANCHE_JS_PORT as string)\n NETWORK_ID = parseInt(process.env.VUE_APP_AVALANCHE_JS_NETWORKID as string)\n CHAIN_ID = process.env.VUE_APP_AVALANCHE_JS_CHAINID as string\n} else {\n PROTOCOL = process.env.VUE_APP_TEST_AVALANCHE_JS_PROTOCOL as string\n IP = process.env.VUE_APP_TEST_AVALANCHE_JS_IP as string\n PORT = parseInt(process.env.VUE_APP_TEST_AVALANCHE_JS_PORT as string)\n NETWORK_ID = parseInt(\n process.env.VUE_APP_TEST_AVALANCHE_JS_NETWORKID as string\n )\n CHAIN_ID = process.env.VUE_APP_TEST_AVALANCHE_JS_CHAINID as string\n}\n\nconst avalanche = new avalancheJS.Avalanche(\n IP,\n PORT,\n PROTOCOL,\n NETWORK_ID,\n CHAIN_ID\n)\nconst avm = avalanche.XChain()\nconst platform = avalanche.PChain()\n\nexport { avalanche, avm, platform }\n","import api from '@/axios'\nimport { resolveResponseData } from '@/services/helpers'\n\nconst AGGREGATES_V2_API_BASE_URL =\n process.env.VUE_APP_AGGREGATES_V2_API_BASE_URL\n\nconst ASSET_AGGREGATES_V2_API_BASE_URL =\n process.env.VUE_APP_ASSET_AGGREGATES_V2_API_BASE_URL\n\n/**\n * @param param time interval (1m, 24h, 30d...)\n * @returns time-series of aggregate data\n */\nexport function getAggregates(param: string) {\n return api\n .get(`${AGGREGATES_V2_API_BASE_URL}/${param}`)\n .then(resolveResponseData)\n}\n\n/**\n * @returns list of 24h aggregates\n */\nexport function getAssetAggregates() {\n return api\n .get(`${ASSET_AGGREGATES_V2_API_BASE_URL}`)\n .then(resolveResponseData)\n}\n","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('div', {\n staticClass: \"search_result\",\n on: {\n \"click\": _vm.select\n }\n }, [_vm._m(0), _c('div', {\n staticClass: \"data\"\n }, [_c('p', {\n staticClass: \"result_id\"\n }, [_vm._v(_vm._s(_vm.prefixedAddress))]), _c('p', {\n staticClass: \"balance\"\n }, [_vm._v(\" Balance \"), _c('span', [_vm._v(_vm._s(_vm.avaxBalance.toLocaleString(_vm.avaxDenomination)) + \" \" + _vm._s(_vm.avaxSymbol))])])])]);\n}\nvar staticRenderFns = [function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('div', {\n staticClass: \"symbol_container\"\n }, [_c('p', {\n staticClass: \"symbol\"\n }, [_vm._v(\"Address\")])]);\n}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport 'reflect-metadata'\nimport { Vue, Component, Prop } from 'vue-property-decorator'\nimport { stringToBig } from '@/helper'\nimport { AVAX_ID } from '@/known_assets'\n\n@Component({})\nexport default class AddressResult extends Vue {\n @Prop() item!: any | null\n\n select() {\n // TODO: support for multiple chains. add a chain param\n const url = `/address/X-${this.item.address}`\n this.$router.push(url)\n this.$emit('select')\n }\n\n get avaxBalance() {\n return stringToBig(\n this.item.assets[AVAX_ID].balance,\n this.avaxDenomination\n )\n }\n\n get avaxDenomination() {\n return this.$store.state.assets[AVAX_ID].denomination\n }\n\n get avaxSymbol() {\n return this.$store.state.assets[AVAX_ID].symbol\n }\n\n get numTx() {\n return this.item.transactionCount\n }\n\n get chainNow() {\n return this.$store.state.chainId\n }\n\n get prefixedAddress() {\n return `${this.chainNow}-${this.item.address}`\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddressResult.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddressResult.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AddressResult.vue?vue&type=template&id=6785f14e&scoped=true&\"\nimport script from \"./AddressResult.vue?vue&type=script&lang=ts&\"\nexport * from \"./AddressResult.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AddressResult.vue?vue&type=style&index=0&id=6785f14e&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6785f14e\",\n null\n \n)\n\nexport default component.exports","const expletives: string[] = [\n 'boner',\n 'booty',\n 'choad',\n 'cunt',\n 'darky',\n 'fagot',\n 'fucck',\n 'fuck',\n 'fugly',\n 'fuuck',\n 'gook',\n 'gyppo',\n 'gypsy',\n 'jewed',\n 'jigga',\n 'jizz',\n 'kike',\n 'kkk',\n 'kyke',\n 'lesbo',\n 'nigar',\n 'nigg',\n 'nigga',\n 'nigs',\n 'peni5',\n 'poop',\n 'pu55i',\n 'pu55y',\n 'queef',\n 'raper',\n 'shit',\n 'shhit',\n 'shits',\n 'slutt',\n 'titty',\n 'titties',\n 'whore',\n]\n\nexport { expletives }\n","//@ts-ignore\nimport * as cuss from 'cuss'\nimport { expletives } from '@/expletives'\n\nclass Profanities {\n expletives: string[]\n cusses: string[]\n\n constructor() {\n this.expletives = expletives\n this.cusses = this.getCusses()\n }\n\n screen(input: string): boolean {\n const value = input.toLowerCase()\n let profane = false\n\n // CHECK #1 - short list of unambiguous profanities\n for (const expletive of this.expletives) {\n // partial match (\"****shit\", \"******fuck**\")\n if (value.includes(expletive)) {\n profane = true\n break\n }\n }\n\n // CHECK #2 - longer list\n if (!profane) {\n const values = value.split(' ') // \"ass coin\"\n for (const value of values) {\n for (const cuss of this.cusses) {\n if (value.includes(cuss)) {\n // partial match - long words (\"asshole\")\n if (cuss.length > 4) {\n profane = true\n break\n }\n // exact match - short words (\"ass\" vs. \"glass\")\n if (value === cuss) {\n profane = true\n break\n }\n }\n }\n }\n }\n return profane\n }\n\n private getCusses() {\n const cusses: string[] = []\n // profanities with a high sureness rating\n for (const [key, value] of Object.entries(cuss.default)) {\n if ((value as number) > 1) {\n cusses.push(key)\n }\n }\n cusses.sort((a, b) => a.length - b.length)\n return cusses\n }\n}\n\nconst profanities = new Profanities()\nexport { profanities }\n","module.exports = __webpack_public_path__ + \"img/tooltip.db63a96f.svg\";","import {\n ITransaction,\n TransactionResponse,\n InputResponse,\n Input,\n Output,\n OutputResponse,\n InputTotal,\n OutputTotal,\n} from '@/store/modules/transactions/models'\nimport { stringToBig } from '@/helper'\nimport { txChainTypeMap } from '@/known_blockchains'\n\nfunction getOutput(output: OutputResponse): Output {\n return {\n ...output,\n timestamp: new Date(output.timestamp),\n amount: stringToBig(output.amount), // TODO: this Big conversion is not denominated bc of dependency on asset lookup\n }\n}\n\nexport function getTransactionChainType(chainID: string) {\n return txChainTypeMap.get(chainID)\n}\n\nexport function getTransactionOutputs(outputs: Output[]) {\n return outputs.map((output) => {\n const chainType = getTransactionChainType(output.chainID)\n // switch for addresses (bech32) or caddresses (hex)\n const addresses =\n output.addresses !== null ? output.addresses : output.caddresses\n const prefix = output.addresses !== null ? `${chainType?.code}-` : ``\n return {\n ...output,\n addresses: addresses.map(\n (address) =>\n ({\n address,\n displayAddress: `${prefix}${address}`,\n } as DisplayAddress)\n ),\n }\n })\n}\n\nexport function getTransactionInputs(inputs: Input[]) {\n return inputs.map((input) => ({\n credentials: input.credentials,\n output: getTransactionOutputs([input.output])[0],\n }))\n}\n\nexport interface DisplayAddress {\n address: string\n displayAddress: string | undefined\n}\n\nexport class Transaction implements ITransaction {\n id: string\n chainID: string\n type: string\n inputs: Input[]\n outputs: Output[]\n memo: string\n inputTotals: InputTotal\n outputTotals: OutputTotal\n reusedAddressTotals: string | null\n timestamp: string\n txFee: number\n genesis: boolean\n rewarded: boolean\n rewardedTime: string | null\n epoch: number\n vertexId: string\n validatorNodeID: string\n validatorStart: number\n validatorEnd: number\n txBlockId: string\n\n constructor(data: TransactionResponse) {\n this.id = data.id\n this.chainID = data.chainID\n this.type = data.type\n this.inputs =\n data.inputs === null || data.inputs.length === 0\n ? []\n : data.inputs.map((input: InputResponse) => {\n return {\n credentials: input.credentials,\n output: getOutput(input.output),\n }\n })\n this.outputs =\n data.outputs === null || data.outputs.length === 0\n ? []\n : data.outputs\n .map((output: OutputResponse) => getOutput(output))\n .sort((a, b) => a.outputIndex - b.outputIndex)\n this.memo = data.memo\n this.inputTotals = data.inputTotals\n this.outputTotals = data.outputTotals\n this.reusedAddressTotals = data.reusedAddressTotals\n this.timestamp = data.timestamp\n this.txFee = data.txFee\n this.genesis = data.genesis\n this.rewarded = data.rewarded\n this.rewardedTime = data.rewardedTime\n this.epoch = data.epoch\n this.vertexId = data.vertexId\n this.validatorNodeID = data.validatorNodeID\n this.validatorStart = data.validatorStart\n this.validatorEnd = data.validatorEnd\n this.txBlockId = data.txBlockId\n }\n\n getInputAddresses(): string[] {\n const res: string[] = []\n const inputs = this.inputs || []\n\n inputs.forEach((input) => {\n res.push(...input.output.addresses)\n })\n\n return res\n }\n}\n","import axios from 'axios'\n\nconst DEFAULT_NETWORK_ID = parseInt(\n process.env.VUE_APP_DEFAULT_NETWORKID || '4'\n)\n\nconst ORTELIUS_URL =\n DEFAULT_NETWORK_ID === 1\n ? (process.env.VUE_APP_ORTELIUS_URL as string)\n : (process.env.VUE_APP_TEST_ORTELIUS_URL as string)\n\nexport default axios.create({\n baseURL: ORTELIUS_URL,\n withCredentials: false,\n headers: {\n 'Content-Type': 'application/json',\n },\n})\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NetworkMenu.vue?vue&type=style&index=0&id=234ed566&scoped=true&lang=scss&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NetworkMenu.vue?vue&type=style&index=0&id=234ed566&scoped=true&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TransactionResult.vue?vue&type=style&index=0&id=4c90822d&scoped=true&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TransactionResult.vue?vue&type=style&index=0&id=4c90822d&scoped=true&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/explorer_logo_white.bb603037.png\";","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AssetResult.vue?vue&type=style&index=0&id=051bc388&scoped=true&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AssetResult.vue?vue&type=style&index=0&id=051bc388&scoped=true&lang=scss&\""],"sourceRoot":""}