mirror of
https://github.com/hanzo-labs/arcadia.git
synced 2026-10-30 18:55:41 +00:00
496 lines
20 KiB
HTML
496 lines
20 KiB
HTML
|
|
<!DOCTYPE html>
|
|
<html lang="en" ng-app="mewApp">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title></title>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<link rel="stylesheet" href="css/etherwallet-master.min.css">
|
|
<script type="text/javascript" src="js/etherwallet-static.min.js"></script>
|
|
<script type="text/javascript" src="js/etherwallet-master.js"></script>
|
|
|
|
<link rel="apple-touch-icon" sizes="180x180" href="images/fav/apple-touch-icon.png">
|
|
<link rel="icon" type="image/png" href="images/fav/favicon-32x32.png" sizes="32x32">
|
|
<link rel="icon" type="image/png" href="images/fav/favicon-16x16.png" sizes="16x16">
|
|
<link rel="manifest" href="images/fav/manifest.json">
|
|
<link rel="mask-icon" href="images/fav/safari-pinned-tab.svg" color="#0e97c0">
|
|
<link rel="shortcut icon" href="images/fav/favicon.ico">
|
|
<meta name="msapplication-config" content="images/fav/browserconfig.xml">
|
|
<meta name="theme-color" content="#163151">
|
|
|
|
<meta property="og:url" content="" />
|
|
<meta property="og:title" content="" />
|
|
<meta property="og:description" content="" />
|
|
<meta property="og:image" content="" />
|
|
<meta property="og:image" content="" />
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<header class="{{curNode.name}} {{curNode.service}} {{curNode.service}} nav-index-{{gService.currentTab}}" aria-label="header" ng-controller='tabsCtrl' >
|
|
|
|
<!--
|
|
<div class="small announcement annoucement-warning">
|
|
<div class="container">The #FOMO is Real. Breath. If you are trying to get in on Status.im, <strong> wait until BLOCK 3903900!</strong> <br /> If your TX is not urgent, we recommend NOT SENDING TODAY. Thank you for understanding. </div>
|
|
</div>
|
|
-->
|
|
|
|
<section class="bg-gradient header-branding">
|
|
<section class="container">
|
|
|
|
<!-- Warning: The separators you see on the frontend are in styles/etherwallet-custom.less. If you add / change a node, you have to adjust these. Ping tayvano if you're not a CSS wizard -->
|
|
|
|
</div>
|
|
</section>
|
|
</section>
|
|
|
|
<nav role="navigation" aria-label="main navigation" class="container nav-container overflowing" >
|
|
<a aria-hidden="true" ng-show="showLeftArrow" class="nav-arrow-left" ng-click="scrollLeft(100);" ng-mouseover="scrollHoverIn(true,2);" ng-mouseleave="scrollHoverOut()">«</a>
|
|
<div class="nav-scroll">
|
|
<ul class="nav-inner">
|
|
|
|
<li ng-repeat="tab in tabNames track by $index" class="nav-item {{tab.name}}" ng-class="{active: $index==gService.currentTab}" ng-show="tab.mew" ng-click="tabClick($index)"> <a tabindex="0" aria-label="nav item: {{tab.name | translate}}" translate="{{tab.name}}"></a></li>
|
|
|
|
|
|
</ul>
|
|
</div>
|
|
<a aria-hidden="true" ng-show="showRightArrow" class="nav-arrow-right" ng-click="scrollRight(100);" ng-mouseover="scrollHoverIn(false,2);" ng-mouseleave="scrollHoverOut()">»</a>
|
|
</nav>
|
|
|
|
<article class="modal fade" id="customNodeModal" tabindex="-1">
|
|
<section class="modal-dialog">
|
|
<section class="modal-content">
|
|
|
|
<div class="modal-body">
|
|
<button type="button" class="close" data-dismiss="modal">×</button>
|
|
|
|
<h2 class="modal-title text-info" translate="NODE_Title"> Set Up Your Custom Node </h2>
|
|
|
|
<p class="small" ng-show="browserProtocol!='https:'">
|
|
<strong translate="NODE_Subtitle">To connect to a local node...</strong>
|
|
<ul class="small">
|
|
<li> URL: http://127.0.0.1</li>
|
|
<li> Port: 8545 </li>
|
|
<li> Run geth: <code>geth --rpc --rpccorsdomain "null" --keystore "dont_put_secret_files_here_ever"</code></li>
|
|
<li> Run Parity: <code>parity --rpccorsdomain "*" --keys-path "dont_put_secret_files_here_ever"</code></li>
|
|
</ul>
|
|
</p>
|
|
|
|
<div ng-show="browserProtocol=='https:'" class="alert alert-danger small" translate="NODE_Warning">
|
|
Your node must be HTTPS in order to connect to it via MyEtherWallet.com. You can [download the MyEtherWallet repo & run it locally](https://github.com/kvhnuke/etherwallet/releases/latest) to connect to any node. Or, get free SSL certificate via [LetsEncrypt](https://letsencrypt.org/)</a>.
|
|
</div>
|
|
|
|
<section class="row">
|
|
<div class="clearfix col-xs-12">
|
|
<label translate="NODE_Name">Node Name</label>
|
|
<input class="form-control"
|
|
type="text"
|
|
placeholder="My ETH Node"
|
|
ng-model="customNode.name"
|
|
ng-class="Validator.isAlphaNumericSpace(customNode.name) ? 'is-valid' : 'is-invalid'">
|
|
</div>
|
|
|
|
<div class="clearfix col-xs-9">
|
|
<label>URL</label>
|
|
<input class="form-control" type="text" placeholder="http://127.0.0.1" ng-model="customNode.url" ng-class="checkNodeUrl(customNode.url) ? 'is-valid' : 'is-invalid'">
|
|
</div>
|
|
|
|
<div class="clearfix col-xs-3">
|
|
<label class="NODE_Port">Port</label>
|
|
<input class="form-control" type="text" placeholder="8545" ng-model="customNode.port" ng-class="Validator.isPositiveNumber(customNode.port) || customNode.port=='' ? 'is-valid' : 'is-invalid'">
|
|
</div>
|
|
|
|
<div class="clearfix col-xs-12">
|
|
<label><input type="checkbox" ng-model="customNode.httpBasicAuth" ng-true-value="{user:'',password:''}" ng-false-value="null" value="false"> HTTP Basic access authentication </label>
|
|
</div>
|
|
|
|
<div class="clearfix col-xs-6" ng-show="customNode.httpBasicAuth">
|
|
<label>User</label>
|
|
<input class="form-control" type="text" ng-model="customNode.httpBasicAuth.user" ng-class="customNode.httpBasicAuth && customNode.httpBasicAuth.user.length > 0 ? 'is-valid' : 'is-invalid'">
|
|
</div>
|
|
|
|
<div class="clearfix col-xs-6" ng-show="customNode.httpBasicAuth">
|
|
<label>Password</label>
|
|
<input class="form-control" type="password" ng-model="customNode.httpBasicAuth.password" ng-class="customNode.httpBasicAuth && customNode.httpBasicAuth.password.length > 0 ? 'is-valid' : 'is-invalid'">
|
|
</div>
|
|
|
|
<div class="clearfix col-xs-12 radio">
|
|
<label><input name="options" type="radio" ng-model="customNode.options" value="eth"> ETH </label>
|
|
<label><input name="options" type="radio" ng-model="customNode.options" value="etc"> ETC </label>
|
|
<label><input name="options" type="radio" ng-model="customNode.options" value="rop"> Ropsten </label>
|
|
<label><input name="options" type="radio" ng-model="customNode.options" value="kov"> Kovan </label>
|
|
<label><input name="options" type="radio" ng-model="customNode.options" value="rin"> Rinkeby </label>
|
|
<label><input name="options" type="radio" ng-model="customNode.options" value="cus"> Custom </label>
|
|
<label><input type="checkbox" ng-model="customNode.eip155" value="true"> Supports EIP-155 </label>
|
|
</div>
|
|
|
|
<div class="clearfix col-sm-6 col-sm-offset-6" ng-show="customNode.eip155">
|
|
<label>Chain ID</label>
|
|
<input class="form-control" type="text" placeholder="" ng-model="customNode.chainId" ng-class="Validator.isPositiveNumber(customNode.chainId) ? 'is-valid' : 'is-invalid'">
|
|
</div>
|
|
</section>
|
|
|
|
</div>
|
|
|
|
<div class="modal-footer">
|
|
<button class="btn btn-default" data-dismiss="modal" translate="x_Cancel">
|
|
Cancel
|
|
</button>
|
|
<button class="btn btn-primary" ng-click="saveCustomNode()" translate="NODE_CTA">
|
|
Save & Use Custom Node
|
|
</button>
|
|
</div>
|
|
|
|
|
|
</section>
|
|
</section>
|
|
</article>
|
|
|
|
|
|
|
|
</header>
|
|
|
|
|
|
<section class="container" style="min-height: 50%" ng-controller='viewCtrl'>
|
|
|
|
<div class="tab-content" >
|
|
|
|
<div class="" ng-controller="helpersCtrl">
|
|
<h1> Convert Ethererum Units (e.g. Ether <-> Wei) </h1>
|
|
<h2 class="p"> Ether Wei Converter </h2>
|
|
<section class="mono">
|
|
<div class="input-group form-group">
|
|
<input class="form-control" type="text" ng-model="units.wei" ng-change="convertUnit('wei')" />
|
|
<div class="input-group-btn">
|
|
<a class="btn btn-default" style="min-width: 170px;"> wei </a>
|
|
</div>
|
|
</div>
|
|
<div class="input-group form-group">
|
|
<input class="form-control" type="text" ng-model="units.kwei" ng-change="convertUnit('kwei')" />
|
|
<div class="input-group-btn">
|
|
<a class="btn btn-default" style="min-width: 170px;"> kwei </a>
|
|
</div>
|
|
</div>
|
|
<div class="input-group form-group">
|
|
<input class="form-control" type="text" ng-model="units.mwei" ng-change="convertUnit('mwei')" />
|
|
<div class="input-group-btn">
|
|
<a class="btn btn-default" style="min-width: 170px;"> mwei </a>
|
|
</div>
|
|
</div>
|
|
<div class="input-group form-group">
|
|
<input class="form-control" type="text" ng-model="units.gwei" ng-change="convertUnit('gwei')" />
|
|
<div class="input-group-btn">
|
|
<a class="btn btn-default" style="min-width: 170px;"> gwei <small>(shannon)</small> </a>
|
|
</div>
|
|
</div>
|
|
<div class="input-group form-group">
|
|
<input class="form-control" type="text" ng-model="units.szabo" ng-change="convertUnit('szabo')" />
|
|
<div class="input-group-btn">
|
|
<a class="btn btn-default" style="min-width: 170px;"> szabo </a>
|
|
</div>
|
|
</div>
|
|
<div class="input-group form-group">
|
|
<input class="form-control" type="text" ng-model="units.finney" ng-change="convertUnit('finney')" />
|
|
<div class="input-group-btn">
|
|
<a class="btn btn-default" style="min-width: 170px;"> finney </a>
|
|
</div>
|
|
</div>
|
|
<div class="input-group form-group">
|
|
<input class="form-control" type="text" ng-model="units.ether" ng-change="convertUnit('ether')" />
|
|
<div class="input-group-btn">
|
|
<a class="btn btn-primary" style="min-width: 170px;"> ether </a>
|
|
</div>
|
|
</div>
|
|
<div class="input-group form-group">
|
|
<input class="form-control" type="text" ng-model="units.kether" ng-change="convertUnit('kether')" />
|
|
<div class="input-group-btn">
|
|
<a class="btn btn-default" style="min-width: 170px;"> kether </a>
|
|
</div>
|
|
</div>
|
|
<div class="input-group form-group">
|
|
<input class="form-control" type="text" ng-model="units.mether" ng-change="convertUnit('mether')" />
|
|
<div class="input-group-btn">
|
|
<a class="btn btn-default" style="min-width: 170px;"> mether </a>
|
|
</div>
|
|
</div>
|
|
<div class="input-group form-group">
|
|
<input class="form-control" type="text" ng-model="units.gether" ng-change="convertUnit('gether')" />
|
|
<div class="input-group-btn">
|
|
<a class="btn btn-default" style="min-width: 170px;"> gether </a>
|
|
</div>
|
|
</div>
|
|
<div class="input-group form-group">
|
|
<input class="form-control" type="text" ng-model="units.tether" ng-change="convertUnit('tether')" />
|
|
<div class="input-group-btn">
|
|
<a class="btn btn-default" style="min-width: 170px;"> tether </a>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<br /><br /><br />
|
|
|
|
<h1> ENS Debugger & Data Grabber </h1>
|
|
<h2 class="p">Ethereum Name Service Data String Generator</h2>
|
|
<p class="text-danger"> This is meant to be a helpful tool for debugging and checking and generating manual reveals when necessary. Use at your own risk. There is no validation on these fields. </p>
|
|
|
|
<section class="row">
|
|
<div class="form-group col-sm-12">
|
|
<label> Address you Bid From </label>
|
|
<input class="form-control" type="text" ng-model="ensAddress" ng-change="allTheThings()" />
|
|
</div>
|
|
</section>
|
|
|
|
<section class="row">
|
|
<div class="form-group col-sm-6">
|
|
<label> ENS Name you Bid On (no '.eth' at the end!) </label>
|
|
<input class="form-control" type="text" ng-model="ensLabel" ng-change="toEnsLabelHash()" />
|
|
</div>
|
|
<div class="form-group col-sm-6">
|
|
<label> Hashed ENS Name (Label Hash) </label>
|
|
<input class="form-control" type="text" ng-model="ensLabelHash" />
|
|
</div>
|
|
</section>
|
|
|
|
<section class="row">
|
|
<div class="form-group col-sm-6">
|
|
<label> Amount you Bid (ETH) </label>
|
|
<input class="form-control" type="text" ng-model="bidEth" ng-change="toBidWei()" />
|
|
</div>
|
|
<div class="form-group col-sm-6">
|
|
<label> Amount you Bid (WEI) </label>
|
|
<input class="form-control" type="text" ng-model="bidWei" ng-change="toBidEth()" />
|
|
</div>
|
|
</section>
|
|
|
|
<section class="row">
|
|
<div class="form-group col-sm-6">
|
|
<label> Your Secret </label>
|
|
<input class="form-control" type="text" ng-model="ensSecret" ng-change="toEnsSecretHash()" />
|
|
</div>
|
|
<div class="form-group col-sm-6">
|
|
<label> Your Secret (Hashed) </label>
|
|
<input class="form-control" type="text" ng-model="ensSecretHash"/>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="row">
|
|
<div class="form-group col-xs-12">
|
|
<label> Start Auction Data </label>
|
|
<input class="form-control" type="text" ng-model="startAuctionData" readonly />
|
|
<p>
|
|
To: <code>0x6090a6e47849629b7245dfa1ca21d94cd15878ef</code> ·
|
|
Amount: <code>0</code> ·
|
|
Gas Limit: <code>200000</code> ·
|
|
Data: <code>[ABOVE]</code>
|
|
</p>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="row">
|
|
<div class="form-group col-xs-12">
|
|
<label> New Bid Data <small> If your reveals aren't working, this is the string that needs to match your bid data on Etherscan)</small> </label>
|
|
<input class="form-control" type="text" ng-model="shaBid" readonly />
|
|
<p>
|
|
To: <code>0x6090a6e47849629b7245dfa1ca21d94cd15878ef</code> ·
|
|
Amount: <code>[A NUMBER >= BID AMOUNT]</code> ·
|
|
Gas Limit: <code>500000</code> ·
|
|
Data: <code>[ABOVE]</code>
|
|
</p>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="row">
|
|
<div class="form-group col-xs-12">
|
|
<label> Reveal Data <small> This is for manually revealing if you need to do so. </small></label>
|
|
<input class="form-control" type="text" ng-model="revealBidData" readonly />
|
|
<p>
|
|
To: <code>0x6090a6e47849629b7245dfa1ca21d94cd15878ef</code> ·
|
|
Amount: <code>0</code> ·
|
|
Gas Limit: <code>200000</code> ·
|
|
Data: <code>[ABOVE]</code>
|
|
</p>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="row">
|
|
<div class="form-group col-xs-12">
|
|
<label> Finalize Auction Data </label>
|
|
<input class="form-control" type="text" ng-model="finalizeAuctionData" readonly />
|
|
<p>
|
|
To: <code>0x6090a6e47849629b7245dfa1ca21d94cd15878ef</code> ·
|
|
Amount: <code>0</code> ·
|
|
Gas Limit: <code>200000</code> ·
|
|
Data: <code>[ABOVE]</code>
|
|
</p>
|
|
</div>
|
|
</section>
|
|
|
|
|
|
<br /><br /><br />
|
|
|
|
<h1> Convert Decimal to Hexidecimal and Hex to Decimal </h1>
|
|
<div class="form-group">
|
|
<label> Decimal </label>
|
|
<input class="form-control" type="text" ng-model="decimalNumber" ng-change="decimalToHex()" />
|
|
</div>
|
|
<div class="form-group">
|
|
<label> Hexadecimal </label>
|
|
<input class="form-control" type="text" ng-model="hexNumber" ng-change="hexToDecimal()" />
|
|
</div>
|
|
<div class="form-group">
|
|
<label> Hexadecimal - Padded Left w/ 64 characters </label>
|
|
<input class="form-control" type="text" ng-model="hexPaddedLeft" />
|
|
</div>
|
|
|
|
<br /><br /><br />
|
|
|
|
<h1> "SHA3" (Keccak-256) It! <small><a href="https://ethereum.stackexchange.com/questions/550/which-cryptographic-hash-function-does-ethereum-use" target="_blank" rel="noopener">yooo... sha3 !== Keccak-256?!</a></small></h1>
|
|
|
|
<div class="form-group">
|
|
<label> Input </label>
|
|
<input class="form-control" type="text" ng-model="inputText" ng-change="toSHA3()" />
|
|
</div>
|
|
<div class="form-group">
|
|
<label> Output </label>
|
|
<input class="form-control" type="text" ng-model="outputText" readonly />
|
|
</div>
|
|
|
|
|
|
<br /><br /><br />
|
|
|
|
|
|
<h1> Ether Unit Reference Guide </h1>
|
|
<table class="table table-striped mono">
|
|
<tr>
|
|
<td><strong>wei</strong></td>
|
|
<td><small></small></td>
|
|
<td>1</td>
|
|
<td>1</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td><strong>kwei</strong></td>
|
|
<td><small>ada, femtoether</small></td>
|
|
<td>1000</td>
|
|
<td>1,000</td>
|
|
<td>10<sup>3</sup></td>
|
|
</tr>
|
|
<tr>
|
|
<td><strong>mwei</strong></td>
|
|
<td><small>babbage, picoether</small></td>
|
|
<td>1000000</td>
|
|
<td>1,000,000</td>
|
|
<td>10<sup>6</sup></td>
|
|
</tr>
|
|
<tr>
|
|
<td><strong>gwei</strong></td>
|
|
<td><small>shannon, nanoether, nano</small></td>
|
|
<td>1000000000</td>
|
|
<td>1,000,000,000</td>
|
|
<td>10<sup>9</sup></td>
|
|
</tr>
|
|
<tr>
|
|
<td><strong>szabo</strong></td>
|
|
<td><small>microether, micro</small></td>
|
|
<td>1000000000000</td>
|
|
<td>1,000,000,000,000</td>
|
|
<td>10<sup>12</sup></td>
|
|
</tr>
|
|
<tr>
|
|
<td><strong>finney</strong></td>
|
|
<td><small>milliether, milli</small></td>
|
|
<td>1000000000000000</td>
|
|
<td>1,000,000,000,000,000</td>
|
|
<td>10<sup>15</sup></td>
|
|
</tr>
|
|
<tr>
|
|
<td><strong>ether</strong></td>
|
|
<td><small></small></td>
|
|
<td>1000000000000000000</td>
|
|
<td>1,000,000,000,000,000,000</td>
|
|
<td>10<sup>18</sup></td>
|
|
</tr>
|
|
<tr>
|
|
<td><strong>kether</strong></td>
|
|
<td><small>grand, einstein</small></td>
|
|
<td>1000000000000000000000</td>
|
|
<td>1,000,000,000,000,000,000,000</td>
|
|
<td>10<sup>21</sup></td>
|
|
</tr>
|
|
<tr>
|
|
<td><strong>mether</strong></td>
|
|
<td><small></small></td>
|
|
<td>1000000000000000000000000</td>
|
|
<td>1,000,000,000,000,000,000,000,000</td>
|
|
<td>10<sup>24</sup></td>
|
|
</tr>
|
|
<tr>
|
|
<td><strong>gether</strong></td>
|
|
<td><small></small></td>
|
|
<td>1000000000000000000000000000</td>
|
|
<td>1,000,000,000,000,000,000,000,000,000</td>
|
|
<td>10<sup>27</sup></td>
|
|
</tr>
|
|
<tr>
|
|
<td><strong>tether </strong></td>
|
|
<td><small></small></td>
|
|
<td>1000000000000000000000000000000</td>
|
|
<td>1000,000,000,000,000,000,000,000,000,000</td>
|
|
<td>10<sup>30</sup></td>
|
|
</tr>
|
|
</table>
|
|
</p>
|
|
<br /><br /><br />
|
|
|
|
<h1> Mistyped Private Key </h1>
|
|
|
|
<div class="form-group">
|
|
<label> Private Key that isn't unlocking correct address</label>
|
|
<input class="form-control" type="text" ng-model="mistypedPK" />
|
|
</div>
|
|
<div class="form-group">
|
|
<label> Address You Sent To </label>
|
|
<input class="form-control" type="text" ng-model="mistypedAddr" />
|
|
</div>
|
|
<div class="form-group">
|
|
<a class="btn btn-primary" ng-click="findMyPrivateKey()"> Start the Search! </a>
|
|
</div>
|
|
<div class="form-group">
|
|
<label> Actual Private Key </label>
|
|
<input class="form-control" type="text" ng-model="actualPK" readonly />
|
|
</div>
|
|
<div class="form-group">
|
|
<ul>
|
|
<li class="text-danger">Consider yourself very, very lucky.</li>
|
|
<li> Now you need to create a new secure wallet and move all funds to it.</li>
|
|
<li>In order to prevent the same thing from happening, <strong> please make sure your address you are sending to matches the address on your paper wallet</strong></li>
|
|
<li><a href="https://myetherwallet.groovehq.com/knowledge_base/topics/how-do-i-create-a-new-wallet" target="_blank" rel="noopener">Read this guide for more information.</a></li>
|
|
<li><a href="https://myetherwallet.groovehq.com/knowledge_base/topics/protecting-yourself-and-your-funds?from_search=true" target="_blank" rel="noopener">Learn how to protect yourself and your funds.</a></li>
|
|
</ul>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
<div data-ng-repeat="alert in notifier.alerts">
|
|
<div class="alert popup alert-{{alert.type}} animated-show-hide"
|
|
style="bottom: {{55*$index}}px; z-index: {{999-$index}};">
|
|
<div class="container">
|
|
<div class='alert-message' ng-bind-html="alert.message"></div>
|
|
</div>
|
|
<i class="icon-close" ng-click="alert.close()"></i>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
</section>
|
|
|
|
<footer class="footer" role="content" aria-label="footer" ng-controller='footerCtrl' >
|
|
</footer>
|
|
</main>
|
|
</body>
|
|
</html>
|
|
|