Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
josemmo committed Feb 6, 2018
0 parents commit 76b5325
Show file tree
Hide file tree
Showing 58 changed files with 2,980 additions and 0 deletions.
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Auto detect text files and perform LF normalization
* text=auto
8 changes: 8 additions & 0 deletions .htaccess
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
RewriteEngine On

# Special files
RewriteRule ^css/app\.css$ proxy.php?type=css [QSA,L]
RewriteRule ^js/app\.js$ proxy.php?type=js [QSA,L]

# Error pages
ErrorDocument 404 "<meta http-equiv='refresh' content='1; url=/'><p>Redirecting...</p>"
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Changelog

## 1.0.2 - 2018-02-05
- First public release
21 changes: 21 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2018 José M. Moreno <josemmo@protonmail.com> (https://github.com/josemmo)

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# IOTA Web Wallet

This is the official repo for iotawebwallet.com, a web app that allows you to send and receive transfers and manage multiple seeds without leaving the browser.

This project aims to:
- Provide an easy-to-use UI for IOTA newcomers
- Be a secure and powerful tool for experienced users
- Stay up-to-date with the latest versions of [iota.lib.js](https://github.com/iotaledger/iota.lib.js) and other dependencies
1 change: 1 addition & 0 deletions app/.htaccess
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
deny from all
3 changes: 3 additions & 0 deletions app/autoload.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<?php
require __DIR__ . "/constants.php";
require __DIR__ . "/functions.inc.php";
18 changes: 18 additions & 0 deletions app/components/modal-attach-error.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<div class="modal modal-attach-error" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Failed to attach</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<p class="text-center">There was an error trying to attach to The Tangle.<br>Please try again in a few minutes.</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" data-dismiss="modal">OK</button>
</div>
</div>
</div>
</div>
13 changes: 13 additions & 0 deletions app/components/modal-attaching.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<div class="modal modal-attaching" data-backdrop="static" data-keyboard="false" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Attaching to The Tangle</h5>
</div>
<div class="modal-body">
<p class="text-center">This address is being attached to The Tangle.<br>Please wait until the process is completed.</p>
<p class="text-center"><img width="50" src="images/loader.svg" alt=""></p>
</div>
</div>
</div>
</div>
26 changes: 26 additions & 0 deletions app/components/modal-delete-all.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<div class="modal modal-delete-all" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Delete all data</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<p>
You are about to erase all wallets, settings and everything stored by this website locally on your device.<br>
In the end, this means reverting the app to its default state, as if you never used it.
</p>
<p>
All transfers pushed to The Tangle will prevail, but you will lose your seeds.
<strong>This action is irreversible</strong>. Do you still want to continue?
</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" data-dismiss="modal">No, I've changed my mind</button>
<button type="button" class="btn btn-outline-danger btn-continue">Yes, delete everything</button>
</div>
</div>
</div>
</div>
19 changes: 19 additions & 0 deletions app/components/modal-delete-wallet.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<div class="modal modal-delete-wallet" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Delete wallet</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<p>You are about to delete <strong class="wallet-name"></strong>. Do you still want to continue?</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" data-dismiss="modal">No, keep wallet</button>
<button type="button" class="btn btn-outline-danger btn-continue">Yes, delete wallet</button>
</div>
</div>
</div>
</div>
25 changes: 25 additions & 0 deletions app/components/modal-edit-wallet.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<div class="modal modal-edit-wallet" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Edit wallet</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<form>
<div class="form-group">
<label>New wallet name</label>
<input type="text" name="name" class="form-control" required>
<div class="invalid-feedback">Invalid name or already in use</div>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-outline-danger" data-dismiss="modal">Cancel</button>
<button type="button" class="btn btn-primary btn-continue">Save changes</button>
</div>
</div>
</div>
</div>
26 changes: 26 additions & 0 deletions app/components/modal-enter-password.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<div class="modal modal-enter-password" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Change wallet</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<p><strong class="wallet-name"></strong> seed is encrypted. Please enter its password to continue.</p>
<form>
<div class="form-group">
<label>Wallet password</label>
<input type="password" name="passphrase" class="form-control" required>
<div class="invalid-feedback">Input password is not correct</div>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-outline-danger" data-dismiss="modal">Cancel</button>
<button type="button" class="btn btn-primary btn-continue">Decrypt wallet</button>
</div>
</div>
</div>
</div>
41 changes: 41 additions & 0 deletions app/components/modal-import-wallet.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
<div class="modal modal-import-wallet" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Import wallet</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<form>
<div class="form-group">
<label>Wallet Name</label>
<input type="text" name="name" class="form-control" required>
<div class="invalid-feedback">Invalid name or already in use</div>
</div>
<div class="form-group">
<label>Wallet Seed</label>
<input type="text" name="seed" class="form-control" required>
<small class="form-text text-muted">
Don't have a seed? <a href="#" class="btn-new-wallet">Create a new one</a>
</small>
<div class="invalid-feedback">Please input a valid 81-trytes seed</div>
</div>
<div class="form-group">
<label>Password</label>
<input type="password" name="passphrase" class="form-control" placeholder="Optional, although highly recommended">
<small class="form-text text-muted">This will be used to encrypt your seed</small>
</div>
<label>
<input type="checkbox" name="session"> Forget wallet after closing the app
</label>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-outline-danger" data-dismiss="modal">Cancel</button>
<button type="button" class="btn btn-primary btn-import">Import wallet</button>
</div>
</div>
</div>
</div>
23 changes: 23 additions & 0 deletions app/components/modal-new-wallet.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<div class="modal modal-new-wallet" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Create new wallet</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<table class="seed-table mb-3"></table>
<p>
IOTA uses a <strong>seed</strong> to create addresses which can be used to send and receive transfers.
A seed consists of a set of <strong>uppercase letters and/or the number nine</strong> and has a fixed length of 81 characters.</p>
<p class="text-center mb-0"><strong>Please write down the generated seed before continuing<br>AS LOSING IT MEANS LOSING YOUR MONEY</strong></p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-outline-secondary btn-regenerate">Regenerate seed</button>
<button type="button" class="btn btn-primary btn-continue">Continue with this seed</button>
</div>
</div>
</div>
</div>
13 changes: 13 additions & 0 deletions app/components/modal-sending-transaction.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<div class="modal modal-sending-transaction" data-backdrop="static" data-keyboard="false" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Sending transaction</h5>
</div>
<div class="modal-body">
<p class="text-center">Your transaction is being sent.<br>Please wait until the process is completed.</p>
<p class="text-center"><img width="50" src="images/loader.svg" alt=""></p>
</div>
</div>
</div>
</div>
18 changes: 18 additions & 0 deletions app/components/modal-transaction-error.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<div class="modal modal-transaction-error" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Failed to send transaction</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<p class="text-center">Your transaction could not be send.<br>Please try again in a few minutes.</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" data-dismiss="modal">OK</button>
</div>
</div>
</div>
</div>
23 changes: 23 additions & 0 deletions app/components/modal-transaction-sent.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<div class="modal modal-transaction-sent" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Transaction sent</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<p class="text-center">
Your transaction of <strong class="amount"></strong> has successfully been sent!<br>
Here's its bundle's hash in case you need it:
</p>
<input type="text" class="form-control input-hash" readonly>
</div>
<div class="modal-footer">
<a href="#" target="_blank" class="btn btn-outline-secondary btn-view">View bundle</a>
<button type="button" class="btn btn-primary" data-dismiss="modal">OK</button>
</div>
</div>
</div>
</div>
20 changes: 20 additions & 0 deletions app/components/modal-wallet-die.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<div class="modal modal-wallet-die" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Failed to connect</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<p>
The app wasn't able to connect to an IOTA node. Please check the settings to make sure are correct and try again.
</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Got it</button>
</div>
</div>
</div>
</div>
3 changes: 3 additions & 0 deletions app/components/page-history.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<section data-page="history">
<div class="container"></div>
</section>
35 changes: 35 additions & 0 deletions app/components/page-receive.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<section data-page="receive">
<div class="container">
<div class="row">
<div class="col-md-5">
<!-- LATEST ADDRESS -->
<div class="card mb-3">
<div class="card-body">
<h3 class="card-title">Address #<span class="address-index"></span></h3>
<h6 class="card-subtitle mb-3 text-muted">Use this address to receive transactions in The Tangle</h6>
<p class="address-text"></p>
<div class="address-qr mx-5"></div>
<button type="button" class="btn btn-block mt-4 address-btn"></button>
</div>
</div>
</div>
<div class="col-md">
<!-- LATEST TRANSACTIONS -->
<div class="card">
<div class="card-body">
<div class="row">
<div class="col">
<h3 class="card-title">Latest transactions</h3>
<h6 class="card-subtitle mb-3 text-muted">Incoming transactions to this address</h6>
</div>
<div class="col-auto">
<button type="button" class="btn btn-primary refresh-btn">Refresh</button>
</div>
</div>
<div class="transactions-list"></div>
</div>
</div>
</div>
</div>
</div>
</section>
Loading

0 comments on commit 76b5325

Please sign in to comment.