Deploying to production from @ bokub/vanity-eth@3f112321fd 🚀

This commit is contained in:
bokub 2023-06-26 12:41:52 +00:00
commit f53a68bc70
26 changed files with 609 additions and 0 deletions

1
CNAME Normal file
View file

@ -0,0 +1 @@
vanity-eth.tk

BIN
android-chrome-192x192.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

BIN
android-chrome-512x512.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 KiB

BIN
apple-touch-icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

9
browserconfig.xml Normal file
View file

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<browserconfig>
<msapplication>
<tile>
<square150x150logo src="/mstile-150x150.png"/>
<TileColor>#da532c</TileColor>
</tile>
</msapplication>
</browserconfig>

1
css/app.05396ab5.css Normal file

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1 @@
html.remodal-is-locked{overflow:hidden;touch-action:none}.remodal,[data-remodal-id]{display:none}.remodal-overlay{position:fixed;z-index:9999;top:-5000px;right:-5000px;bottom:-5000px;left:-5000px;display:none}.remodal-wrapper{position:fixed;z-index:10000;top:0;right:0;bottom:0;left:0;display:none;overflow:auto;text-align:center;-webkit-overflow-scrolling:touch}.remodal-wrapper:after{display:inline-block;height:100%;margin-left:-.05em;content:""}.remodal-overlay,.remodal-wrapper{backface-visibility:hidden}.remodal{position:relative;outline:none;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}.remodal-is-initialized{display:inline-block}.remodal-bg.remodal-is-opened,.remodal-bg.remodal-is-opening{filter:blur(3px)}.remodal-overlay{background:rgba(43,46,56,.9)}.remodal-overlay.remodal-is-closing,.remodal-overlay.remodal-is-opening{animation-duration:.3s;animation-fill-mode:forwards}.remodal-overlay.remodal-is-opening{animation-name:remodal-overlay-opening-keyframes}.remodal-overlay.remodal-is-closing{animation-name:remodal-overlay-closing-keyframes}.remodal-wrapper{padding:10px 10px 0}.remodal{box-sizing:border-box;width:100%;margin-bottom:10px;padding:35px;transform:translateZ(0);color:#2b2e38;background:#fff}.remodal.remodal-is-closing,.remodal.remodal-is-opening{animation-duration:.3s;animation-fill-mode:forwards}.remodal.remodal-is-opening{animation-name:remodal-opening-keyframes}.remodal.remodal-is-closing{animation-name:remodal-closing-keyframes}.remodal,.remodal-wrapper:after{vertical-align:middle}.remodal-close{position:absolute;top:0;left:0;display:block;overflow:visible;width:35px;height:35px;margin:0;padding:0;cursor:pointer;transition:color .2s;text-decoration:none;color:#95979c;border:0;outline:0;background:transparent}.remodal-close:focus,.remodal-close:hover{color:#2b2e38}.remodal-close:before{font-family:Arial,Helvetica CY,Nimbus Sans L,sans-serif!important;font-size:25px;line-height:35px;position:absolute;top:0;left:0;display:block;width:35px;content:"\00d7";text-align:center}.remodal-cancel,.remodal-confirm{font:inherit;display:inline-block;overflow:visible;min-width:110px;margin:0;padding:12px 0;cursor:pointer;transition:background .2s;text-align:center;vertical-align:middle;text-decoration:none;border:0;outline:0}.remodal-confirm{color:#fff;background:#81c784}.remodal-confirm:focus,.remodal-confirm:hover{background:#66bb6a}.remodal-cancel{color:#fff;background:#e57373}.remodal-cancel:focus,.remodal-cancel:hover{background:#ef5350}.remodal-cancel::-moz-focus-inner,.remodal-close::-moz-focus-inner,.remodal-confirm::-moz-focus-inner{padding:0;border:0}@keyframes remodal-opening-keyframes{0%{transform:scale(1.05);opacity:0}to{transform:none;opacity:1;filter:blur(0)}}@keyframes remodal-closing-keyframes{0%{transform:scale(1);opacity:1}to{transform:scale(.95);opacity:0;filter:blur(0)}}@keyframes remodal-overlay-opening-keyframes{0%{opacity:0}to{opacity:1}}@keyframes remodal-overlay-closing-keyframes{0%{opacity:1}to{opacity:0}}@media only screen and (min-width:641px){.remodal{max-width:700px}}.lt-ie9 .remodal-overlay{background:#2b2e38}.lt-ie9 .remodal{width:700px}

BIN
favicon-16x16.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
favicon-32x32.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
img/tick-mark.4c36a510.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

379
index.html Normal file
View file

@ -0,0 +1,379 @@
<!DOCTYPE html>
<html lang="en_US">
<head>
<meta charset="UTF-8" />
<meta
name="viewport"
content="width=device-width,user-scalable=no,initial-scale=1,maximum-scale=1,minimum-scale=1"
/>
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>Vanity-ETH | Ethereum vanity address generator</title>
<meta property="og:title" content="Vanity-ETH" />
<meta property="og:locale" content="en_US" />
<meta
name="description"
content="Vanity-ETH is an open source generator using your web browser to generate Ethereum
vanity addresses. You can get a custom ETH vanity address right now without the need to install any software.
Vanity-ETH provides an encrypted keystore compatible with MyEtherWallet, MetaMask, Mist, and geth."
/>
<meta
property="og:description"
content="Vanity-ETH is an open source generator using your web browser to generate Ethereum
vanity addresses. You can get a custom ETH vanity address right now without the need to install any software.
Vanity-ETH provides an encrypted keystore compatible with MyEtherWallet, MetaMask, Mist, and geth."
/>
<link rel="canonical" href="https://vanity-eth.tk/" />
<meta property="og:url" content="https://vanity-eth.tk/" />
<meta property="og:site_name" content="Vanity-ETH" />
<meta name="google-site-verification" content="DFWJVWz9IRrh-wjBxn0Y8ith5FTqMeJTSUtuJ595BEs" />
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
<!--[if IE]><link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" /><![endif]-->
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png" />
<link rel="manifest" href="/site.webmanifest" />
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5" />
<meta name="msapplication-TileColor" content="#da532c" />
<meta name="theme-color" content="#ffffff" />
<script
async=""
defer=""
data-website-id="9086c519-8c4a-4f8e-9dfe-daee3739238a"
src="https://metrics.vanity-eth.tk/umami-script.js"
></script>
<link href="css/app.05396ab5.css" rel="preload" as="style" />
<link href="css/chunk-vendors.502acf74.css" rel="preload" as="style" />
<link href="js/app.cfab15d4.js" rel="preload" as="script" />
<link href="js/chunk-vendors.6533d65f.js" rel="preload" as="script" />
<link href="css/chunk-vendors.502acf74.css" rel="stylesheet" />
<link href="css/app.05396ab5.css" rel="stylesheet" />
<link rel="icon" type="image/png" sizes="32x32" href="img/icons/favicon-32x32.png" />
<link rel="icon" type="image/png" sizes="16x16" href="img/icons/favicon-16x16.png" />
<link rel="manifest" href="manifest.json" />
<meta name="theme-color" content="#4DBA87" />
<meta name="apple-mobile-web-app-capable" content="no" />
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
<meta name="apple-mobile-web-app-title" content="vanity-eth" />
<link rel="apple-touch-icon" href="img/icons/apple-touch-icon-152x152.png" />
<link rel="mask-icon" href="img/icons/safari-pinned-tab.svg" color="#4DBA87" />
<meta name="msapplication-TileImage" content="img/icons/msapplication-icon-144x144.png" />
<meta name="msapplication-TileColor" content="#000000" />
</head>
<body>
<div id="app" class="remodal-bg prerender remodal-is-closed">
<div id="content" class="container">
<div data-v-105bd278>
<h1 data-v-105bd278>VANITY-ETH</h1>
<p data-v-105bd278>ETH vanity address generator</p>
</div>
<div class="row">
<div class="col-md-12">
<div data-v-2885a99a class="panel">
<p data-v-2885a99a>
Vanity-ETH is an open-source tool that uses your web browser to generate Ethereum vanity addresses.<br
data-v-2885a99a
/>
Enter a short prefix and/or suffix of your choice and click <i data-v-2885a99a>Generate</i> to start.
</p>
<div data-v-2885a99a class="shortcut">
<button data-v-2885a99a type="button" class="button-large">Start now</button>
</div>
<h2 data-v-2885a99a>What's a vanity address?</h2>
<div data-v-2885a99a class="p">
A vanity address is an address in which you can choose a part of it to make it appear less random.<br
data-v-2885a99a
/>
Examples:
<ul data-v-2885a99a>
<li data-v-2885a99a>
<span data-v-2885a99a class="monospace">0xc0ffee254729296a45a3885639AC7E10F9d54979</span>
</li>
<li data-v-2885a99a>
<span data-v-2885a99a class="monospace">0x999999cf1046e68e36E1aA2E0E07105eDDD1f08E</span>
</li>
</ul>
</div>
<h2 data-v-2885a99a>How it works</h2>
<p data-v-2885a99a>
Enter a short prefix and/or suffix of your choice and click <i data-v-2885a99a>Generate</i> to start.
Your browser will generate lots of random addresses until it finds one that matches your input.<br
data-v-2885a99a
/>
Once an address is found, you can choose to reveal the private key or click the
<i data-v-2885a99a>Save</i> button to download a password-encrypted keystore file.<br
data-v-2885a99a
/><br data-v-2885a99a />
Adjusting the number of working threads can increase or decrease the speed, depending on your computer's
capabilities.<br data-v-2885a99a />
</p>
<h2 data-v-2885a99a>Security</h2>
<p data-v-2885a99a>
As mentioned earlier, all computations occur solely within your browser. Nothing ever leaves your
machine, or even your browser tab. There is no database, no server-side code. Everything vanishes when
you close your browser tab.<br data-v-2885a99a /><br data-v-2885a99a /><b data-v-2885a99a
>Vanity-ETH cannot and will never store your private key.</b
>
If you have concerns about its trustworthiness, you have three options to ensure the privacy of your
key:<br data-v-2885a99a />
- After loading the web page, you can disconnect from the internet and continue using it seamlessly<br
data-v-2885a99a
/>
- Alternatively, you can download the latest build of Vanity-ETH
<a data-v-2885a99a href="https://git.io/veth-dl" target="_blank">here</a> and use it on an offline
computer<br data-v-2885a99a />
- The code is 100% open source and available on
<a data-v-2885a99a href="https://github.com/bokub/vanity-eth" target="_blank">GitHub</a>, allowing
you to review it thoroughly before usage<br data-v-2885a99a /><br data-v-2885a99a />
Vanity-ETH uses a cryptographically secure pseudorandom number generator (CSPRNG) to generate Ethereum
addresses.<br data-v-2885a99a />
The keystore file is encrypted with an AES-128-CTR cipher using the PBKDF2-SHA256 derivation function
with 65536 hashing rounds.
</p>
<h2 data-v-2885a99a>Other browser-based tools</h2>
<p data-v-2885a99a>
Be aware that due to its popularity and open-source nature, Vanity-ETH has been widely copied, leading
to the existence of websites claiming to provide the same functionality. Sometimes, they are perfect
clones hosted on very similar domains.<br data-v-2885a99a />
Most of them do not credit the original code, are not open-source, and may contain malicious code.<br
data-v-2885a99a
/><br data-v-2885a99a />
Vanity-ETH has always been the <b data-v-2885a99a>first</b> browser-based ETH vanity address
generator, and remains the most popular and trusted one.<br data-v-2885a99a /><br
data-v-2885a99a
/>
To be sure you're on the real Vanity-ETH website, search for
<a
data-v-2885a99a
href="https://github.com/search?o=desc&amp;q=Vanity-ETH&amp;s=stars"
target="_blank"
>Vanity-ETH on GitHub</a
>, find the repository with the most stars (&gt; 600), and click the link in the description. Double
check by searching
<a data-v-2885a99a href="https://www.google.com/search?q=Vanity-ETH" target="_blank"
>Vanity-ETH on Google</a
>.
</p>
<h2 data-v-2885a99a>Performance</h2>
<p data-v-2885a99a>
Vanity-ETH's performance may vary significantly across different browsers. Currently, Chrome provides
the best results.<br data-v-2885a99a />
While you can use Vanity-ETH on your phone or tablet, it is unlikely to match the speed of a traditional
computer.<br data-v-2885a99a /><br data-v-2885a99a /><b data-v-2885a99a>N.B:</b> Vanity-ETH is
designed to be a user-friendly tool that runs directly in your browser, providing easy accessibility
without the need to download or install additional software.<br data-v-2885a99a />
However, browser-based tools have inherent limitations that may affect their performance and efficiency.
Some dedicated command-line tools are more difficult to use, but may offer better performance.
</p>
<h2 data-v-2885a99a>Compatibility</h2>
<p data-v-2885a99a>
Any address generated with Vanity-ETH is ERC-20 compatible, which means you can use it for an ICO, an
airdrop, or just to withdraw your funds from an exchange.<br data-v-2885a99a />
The keystore file is 100% compatible with MyEtherWallet, MetaMask, Mist, and geth.
</p>
</div>
</div>
</div>
<!---->
<div class="row">
<div class="col-md-6">
<div data-v-0d134f6a id="input-panel" class="panel">
<form data-v-0d134f6a>
<!---->
<div data-v-0d134f6a class="row">
<div data-v-0d134f6a class="col-12 col-sm-6 col-md-12 col-lg-6">
<input data-v-0d134f6a type="text" id="input" placeholder="Prefix" class="text-input-large" />
</div>
<div data-v-0d134f6a class="col-12 col-sm-6 col-md-12 col-lg-6">
<input data-v-0d134f6a type="text" id="input" placeholder="Suffix" class="text-input-large" />
</div>
</div>
<div data-v-0d134f6a class="row justify-content-center hide-render">
<div data-v-0d134f6a class="spinner">
<div data-v-0d134f6a></div>
<div data-v-0d134f6a></div>
<div data-v-0d134f6a></div>
<div data-v-0d134f6a></div>
</div>
</div>
<div data-v-0d134f6a class="example hide-prerender">
E.g.
<span data-v-0d134f6a class="monospace">
0x<!----><span data-v-0d134f6a>593Da0221dC30D723D211176a55317F22c49c1a1</span
><!----></span
>
</div>
<div data-v-0d134f6a class="controls hide-prerender">
<label data-v-0d134f6a class="checkbox"
><input data-v-0d134f6a type="checkbox" name="checkbox" checked="checked" /><i
data-v-0d134f6a
class="left"
></i>
Case-sensitive
</label>
</div>
<div data-v-0d134f6a class="threads hide-prerender">
<input data-v-0d134f6a type="button" value="-" class="square-btn button-large" /><input
data-v-0d134f6a
type="button"
value="+"
class="square-btn arrow button-large"
/>
<h4 data-v-0d134f6a>2</h4>
<span data-v-0d134f6a> threads</span><span data-v-0d134f6a> (recommended)</span>
</div>
<div data-v-0d134f6a class="row">
<div data-v-0d134f6a class="col-lg-6 col-sm-12">
<input
data-v-0d134f6a
type="button"
value="Generate"
disabled="disabled"
class="button-large hide-render"
/><input data-v-0d134f6a type="button" value="Generate" class="button-large hide-prerender" />
</div>
<div data-v-0d134f6a class="col-lg-6 col-sm-12">
<input data-v-0d134f6a type="button" value="Stop" disabled="disabled" class="button-large" />
</div>
</div>
</form>
</div>
</div>
<div class="col-md-6">
<div data-v-664556a1 class="panel">
<div data-v-664556a1>Difficulty: <span data-v-664556a1 class="output">1</span></div>
<div data-v-664556a1>Generated: <span data-v-664556a1 class="output">0 addresses</span></div>
<div data-v-664556a1>50% probability: <span data-v-664556a1 class="output">0 addresses</span></div>
<div data-v-664556a1>Speed: <span data-v-664556a1 class="output">0 addr/s</span></div>
<div data-v-664556a1>Status: <span data-v-664556a1 class="output">Waiting</span></div>
<div data-v-664556a1 class="probability">
<div data-v-664556a1 class="probability-bar" style="width: 0%"></div>
</div>
<div data-v-664556a1 class="percentage">
<h4 data-v-664556a1>0%</h4>
<div data-v-664556a1>Probability</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div data-v-05c9bba6 class="panel result">
<div data-v-05c9bba6 class="row">
<div data-v-05c9bba6 id="identicon" class="float-left"></div>
<div data-v-05c9bba6 class="col">
<div data-v-05c9bba6>Address: <span data-v-05c9bba6 class="output"></span></div>
<div data-v-05c9bba6>
Private key:
<!---->
</div>
</div>
<div data-v-05c9bba6 class="col-lg-2 col-12">
<button data-v-05c9bba6 data-remodal-target="modal" disabled="disabled" class="save button-large">
<i data-v-05c9bba6 class="icon-lock"></i>Save
</button>
</div>
</div>
</div>
</div>
</div>
</div>
<footer data-v-167a421c>
<div data-v-167a421c class="container">
<div data-v-167a421c class="row">
<div data-v-167a421c class="col-12 col-lg-6 address">
Tips:
<a
data-v-167a421c
href="https://etherscan.io/address/0xAceBabe64807cb045505b268ef253D8fC2FeF5Bc#tokentxns"
target="_blank"
>0xAceBabe64807cb045505b268ef253D8fC2FeF5Bc</a
>
</div>
<div data-v-167a421c class="col-12 col-lg-6 links">
<a
data-v-167a421c
href="https://etherscan.io/address/0xAceBabe64807cb045505b268ef253D8fC2FeF5Bc"
target="_blank"
><i data-v-167a421c class="icon-ethereum"></i> Donate </a
><a data-v-167a421c href="https://github.com/bokub/vanity-eth" target="_blank"
><i data-v-167a421c class="icon-star"></i> Star me </a
><a data-v-167a421c href="https://github.com/bokub/vanity-eth/wiki/download-Vanity-ETH" target="_blank"
><i data-v-167a421c class="icon-download"></i> Download
</a>
</div>
</div>
</div>
</footer>
<a
data-v-887f6dee
href="https://github.com/bokub/vanity-eth"
target="_blank"
aria-label="View source on Github"
><svg
data-v-887f6dee
width="80"
height="80"
viewBox="0 0 250 250"
aria-hidden="true"
style="
fill: rgb(21, 21, 19);
color: rgb(255, 255, 255);
position: absolute;
top: 0px;
border: 0px;
right: 0px;
"
>
<defs data-v-887f6dee>
<mask data-v-887f6dee id="octomask">
<path data-v-887f6dee fill="white" d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path>
<path
data-v-887f6dee
fill="black"
d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2"
class="octo-arm"
style="transform-origin: 130px 106px"
></path>
<path
data-v-887f6dee
d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z"
fill="black"
class="octo-body"
></path>
</mask>
</defs>
<rect
data-v-887f6dee
fill="white"
width="100%"
height="100%"
mask="url(#octomask)"
class="filler"
></rect></svg
></a>
</div>
<script src="js/chunk-vendors.6533d65f.js"></script>
<script src="js/app.cfab15d4.js"></script>
<div class="remodal-overlay remodal-is-closed" style="display: none"></div>
<div class="remodal-wrapper remodal-is-closed" style="display: none">
<div
data-remodal-id="modal"
data-remodal-options="hashTracking: false"
class="remodal remodal-is-initialized remodal-is-closed"
tabindex="-1"
>
<button data-remodal-action="close" class="remodal-close"></button>
<h3 class="title">Create encrypted keystore file (UTC / JSON)</h3>
<form>
<div>
<input type="text" autocomplete="username" class="hidden" /><input
autocomplete="new-password"
placeholder="Password"
type="password"
class="text-input-large"
/><button type="button" class="show-password"><i class="icon-eye-on"></i></button>
</div>
<div><button type="button" disabled="disabled" class="button-large">Download</button></div>
</form>
</div>
</div>
</body>
</html>

2
js/app.cfab15d4.js Normal file

File diff suppressed because one or more lines are too long

1
js/app.cfab15d4.js.map Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1
manifest.json Normal file
View file

@ -0,0 +1 @@
{"name":"vanity-eth","short_name":"vanity-eth","theme_color":"#4DBA87","icons":[{"src":"./img/icons/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"./img/icons/android-chrome-512x512.png","sizes":"512x512","type":"image/png"},{"src":"./img/icons/android-chrome-maskable-192x192.png","sizes":"192x192","type":"image/png","purpose":"maskable"},{"src":"./img/icons/android-chrome-maskable-512x512.png","sizes":"512x512","type":"image/png","purpose":"maskable"}],"start_url":".","display":"standalone","background_color":"#000000"}

BIN
mstile-150x150.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View file

@ -0,0 +1,82 @@
self.__precacheManifest = (self.__precacheManifest || []).concat([
{
"revision": "2153922c033bf3fdb4705ebf7be31010",
"url": "android-chrome-192x192.png"
},
{
"revision": "d4cdd378ffe7495aab66850f9a3d275c",
"url": "android-chrome-512x512.png"
},
{
"revision": "364a7f6c755e2b23b29a7603d737f298",
"url": "apple-touch-icon.png"
},
{
"revision": "a493ba0aa0b8ec8068d786d7248bb92c",
"url": "browserconfig.xml"
},
{
"revision": "502659629cb03dadf338",
"url": "css/app.05396ab5.css"
},
{
"revision": "42ba3d241752489317b8",
"url": "css/chunk-vendors.502acf74.css"
},
{
"revision": "4cb60baf7ec071b1f2edc5855c4aed58",
"url": "favicon-16x16.png"
},
{
"revision": "42cbe675b4e2a81d4496527031e63c5c",
"url": "favicon-32x32.png"
},
{
"revision": "f1a4a058fbba1e35a406188ae7eddaf8",
"url": "fonts/lato-regular.f1a4a058.woff2"
},
{
"revision": "79982cd1f74c6fa7451bf9b37ead09ff",
"url": "fonts/montserrat-bold.79982cd1.woff2"
},
{
"revision": "501ce09c42716a2f6e1503a25eb174c9",
"url": "fonts/montserrat.501ce09c.woff2"
},
{
"revision": "e92cc0fb9e1a7debc138224fd02a462a",
"url": "fonts/roboto-mono.e92cc0fb.woff2"
},
{
"revision": "4c36a510ecb00d065d837ba56471ebe4",
"url": "img/tick-mark.4c36a510.png"
},
{
"revision": "8f7fdb15977d751bd0703916077905e4",
"url": "index.html"
},
{
"revision": "502659629cb03dadf338",
"url": "js/app.cfab15d4.js"
},
{
"revision": "42ba3d241752489317b8",
"url": "js/chunk-vendors.6533d65f.js"
},
{
"revision": "576255d425b4b27cc64764b896d506cb",
"url": "manifest.json"
},
{
"revision": "87d3392219ef931e2dad2b75b242a69c",
"url": "mstile-150x150.png"
},
{
"revision": "2ad4442bab02bd70d0294df0338a882a",
"url": "safari-pinned-tab.svg"
},
{
"revision": "b9aa277fcfc34c31db6c7a7ea3469b8c",
"url": "site.webmanifest"
}
]);

20
safari-pinned-tab.svg Normal file
View file

@ -0,0 +1,20 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
width="600.000000pt" height="600.000000pt" viewBox="0 0 600.000000 600.000000"
preserveAspectRatio="xMidYMid meet">
<metadata>
Created by potrace 1.14, written by Peter Selinger 2001-2017
</metadata>
<g transform="translate(0.000000,600.000000) scale(0.100000,-0.100000)"
fill="#000000" stroke="none">
<path d="M1119 5946 c-2 -2 -24 -7 -49 -10 -80 -11 -103 -17 -194 -47 -334
-111 -595 -353 -733 -679 -34 -80 -72 -212 -80 -283 -10 -81 -10 -3784 0
-3858 15 -113 102 -363 143 -410 8 -8 14 -19 14 -22 0 -23 118 -173 192 -245
58 -57 207 -171 222 -172 5 0 17 -6 25 -13 45 -37 263 -118 386 -143 22 -4
891 -9 1930 -10 2074 -3 1955 -6 2149 57 358 116 660 419 770 774 55 176 51
33 51 2095 0 1042 -3 1920 -7 1950 -11 79 -44 194 -80 280 -138 325 -401 568
-734 679 -187 62 -81 59 -2130 60 -1029 0 -1873 -1 -1875 -3z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1 KiB

34
service-worker.js Normal file
View file

@ -0,0 +1,34 @@
/**
* Welcome to your Workbox-powered service worker!
*
* You'll need to register this file in your web app and you should
* disable HTTP caching for this file too.
* See https://goo.gl/nhQhGp
*
* The rest of the code is auto-generated. Please don't update this file
* directly; instead, make changes to your Workbox build configuration
* and re-run your build process.
* See https://goo.gl/2aRDsh
*/
importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js");
importScripts(
"precache-manifest.349eb0642e88af1e95fe55c8d011e303.js"
);
workbox.core.setCacheNameDetails({prefix: "vanity-eth"});
self.addEventListener('message', (event) => {
if (event.data && event.data.type === 'SKIP_WAITING') {
self.skipWaiting();
}
});
/**
* The workboxSW.precacheAndRoute() method efficiently caches and responds to
* requests for URLs in the manifest.
* See https://goo.gl/S9QRab
*/
self.__precacheManifest = [].concat(self.__precacheManifest || []);
workbox.precaching.precacheAndRoute(self.__precacheManifest, {});

19
site.webmanifest Normal file
View file

@ -0,0 +1,19 @@
{
"name": "",
"short_name": "",
"icons": [
{
"src": "/android-chrome-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "/android-chrome-512x512.png",
"sizes": "512x512",
"type": "image/png"
}
],
"theme_color": "#ffffff",
"background_color": "#ffffff",
"display": "standalone"
}