copay/index.html

491 lines
20 KiB
HTML
Raw Normal View History

2014-03-19 09:17:18 -07:00
<!doctype html>
<html lang="en">
2014-03-14 13:38:27 -07:00
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width">
<title>Copay - Multisignature Wallet</title>
<link rel="stylesheet" href="css/foundation.min.css">
2014-03-28 12:39:58 -07:00
<link rel="stylesheet" href="css/foundation-icons.css">
2014-03-14 13:38:27 -07:00
<link rel="stylesheet" href="css/main.css">
</head>
<body>
2014-04-09 07:05:25 -07:00
<div data-ng-init="init()" data-ng-controller="HeaderController">
<div class="header">
2014-03-28 08:32:29 -07:00
<div class="header-content">
2014-03-31 14:06:44 -07:00
<figure class="left">
2014-04-21 06:52:15 -07:00
<a href="#"><img src="./img/logo-negative.svg" alt="Copay" width="130" /></a>
2014-03-31 14:06:44 -07:00
</figure>
2014-04-15 08:17:28 -07:00
<div class="text-right" ng-show="$root.wallet">
<h5 ng-show="$root.wallet.id">Wallet ID: {{$root.wallet.id}}</h5>
2014-04-21 08:37:32 -07:00
<p>
Balance: {{totalBalance || 0}} <i class="fi-bitcoin"></i><br>
2014-04-21 09:22:55 -07:00
Available to Spend: {{availableBalance || 0}} <i class="fi-bitcoin"></i>
2014-04-21 08:37:32 -07:00
</p>
2014-03-28 08:32:29 -07:00
</div>
</div>
2014-04-15 08:17:28 -07:00
<nav class="top-bar" data-topbar ng-show="$root.wallet">
2014-04-15 07:46:19 -07:00
<ul class="title-area">
2014-03-28 08:32:29 -07:00
<li class="name"></li>
<li class="toggle-topbar menu-icon">
2014-04-20 15:39:16 -07:00
<a ng-click="isCollapsed=!isCollapsed"> Menu</a>
2014-03-28 08:32:29 -07:00
</li>
</ul>
2014-04-20 15:39:16 -07:00
<section class="top-bar-section {{isCollapsed && 'hide_menu' || 'show_menu'}}">
<ul>
2014-04-15 08:33:00 -07:00
<li data-ng-repeat="item in menu" ui-route="/{{item.link}}" class="large-2 text-center" data-ng-class="{active: isActive(item)}">
<a href="{{item.link}}"> <i class="{{item.icon}}"></i> {{item.title}}</a>
2014-03-28 08:32:29 -07:00
</li>
2014-04-15 10:02:45 -07:00
<li class="large-2 text-center">
<a href="#" ng-click="signout()"> <i class="fi-power"></i> Signout</a>
</li>
2014-03-28 08:32:29 -07:00
</ul>
</section>
</nav>
2014-04-09 07:05:25 -07:00
2014-03-25 07:35:04 -07:00
</div>
2014-03-28 08:32:29 -07:00
<div class="row" ng-if='$root.flashMessage.message'>
<div class="small-8 large-centered columns">
<div data-alert class="alert-box round {{$root.flashMessage.type}}">
{{$root.flashMessage.message}}
<a ng-click="clearFlashMessage()" class="close">&times;</a>
</div>
2014-04-09 07:05:25 -07:00
</div>
</div>
2014-04-09 07:05:25 -07:00
2014-04-17 14:11:42 -07:00
<div class="row">
<div ng-if='$root.wallet && !$root.wallet.publicKeyRing.isComplete() && !loading' data-alert class="alert-box info round" >
2014-04-17 14:11:42 -07:00
<i class="fi-alert size-18"></i>
Note: Your wallet is not complete yet.
2014-04-17 14:11:42 -07:00
<span ng-show="$root.wallet.publicKeyRing.totalCopayers - $root.wallet.publicKeyRing.registeredCopayers()>1">
{{$root.wallet.publicKeyRing.totalCopayers - $root.wallet.publicKeyRing.registeredCopayers() }} keys are
</span>
<span ng-show="$root.wallet.publicKeyRing.totalCopayers - $root.wallet.publicKeyRing.registeredCopayers()==1">
One key is
</span>
2014-04-20 08:41:28 -07:00
missing. Share this secret with your other copayers for them to join your wallet: <b>{{$root.wallet.getMyPeerId()}}</b>
2014-04-17 14:11:42 -07:00
</div>
2014-04-17 09:43:34 -07:00
</div>
2014-04-09 07:05:25 -07:00
</div>
<div class="row">
<div class="large-12 columns" ng-view></div>
2014-03-26 05:18:42 -07:00
</div>
2014-03-19 09:17:18 -07:00
<!-- Templates -->
<script type="text/ng-template" id="signin.html">
<div class="signin" ng-controller="SigninController">
2014-04-17 14:11:42 -07:00
<div data-alert class="alert-box info round" ng-show="loading">
Connecting to wallet...
</div>
<div ng-show="!loading">
2014-04-17 08:58:54 -07:00
<div ng-show="!walletIds.length">
2014-04-17 08:37:10 -07:00
<div class="row">
<div class="large-6 columns">
<h3>Create a New Wallet</h3>
</div>
<div class="large-3 columns">
<button class="button secondary expand round" ng-click="create()">Create</button>
</div>
2014-03-31 14:05:35 -07:00
</div>
2014-04-17 10:28:50 -07:00
<hr>
</div>
2014-04-21 09:04:47 -07:00
<div ng-show="walletIds.length">
2014-04-17 10:28:50 -07:00
<div class="row">
2014-04-21 09:04:47 -07:00
<div class="large-6 columns">
<h3>Open Wallet</h3>
<select class="form-control" ng-model="selectedWalletId"
ng-options="walletId for walletId in walletIds">
</select>
</div>
<div class="large-3 columns">
<button class="button secondary expand round" type="button"
ng-click="open(selectedWalletId)">Open</button>
2014-04-17 10:28:50 -07:00
</div>
</div>
2014-04-21 09:04:47 -07:00
<hr>
2014-04-17 08:37:10 -07:00
</div>
2014-04-21 09:04:47 -07:00
<div ng-show="true">
2014-04-17 08:37:10 -07:00
<div class="row">
<div class="large-6 columns">
2014-04-21 09:04:47 -07:00
<h3>Join a Wallet in Creation</h3>
<input type="text" class="form-control" placeholder="Paste wallet secret here"
ng-model="connectionId" required ng-minlength="32" ng-maxlength="32" autofocus>
2014-04-17 08:37:10 -07:00
</div>
<div class="large-3 columns">
2014-04-21 09:04:47 -07:00
<button class="button primary expand round"
ng-click="join(connectionId)">Join</button>
2014-04-17 08:37:10 -07:00
</div>
</div>
2014-04-17 14:11:42 -07:00
<hr>
2014-04-21 09:04:47 -07:00
</div>
<div class="row">
<div class="large-12 columns">
<div ng-show="walletIds.length">
2014-04-17 10:28:50 -07:00
<a ng-click="create()">Create a new wallet</a>
2014-04-17 08:37:10 -07:00
</div>
2014-04-21 09:04:47 -07:00
<a class="right" ng-click="import()">Import from file</a>
2014-03-31 14:05:35 -07:00
</div>
</div>
2014-04-17 14:11:42 -07:00
2014-04-17 08:37:10 -07:00
</div>
</div>
</script>
2014-04-16 13:07:14 -07:00
<script type="text/ng-template" id="setup.html">
<div ng-controller="SetupController">
2014-04-17 14:11:42 -07:00
<div data-alert class="alert-box info round" ng-show="loading">
2014-04-16 13:07:14 -07:00
Connecting to wallet...
</div>
<div ng-show="!loading">
<div class="row">
2014-04-17 14:11:42 -07:00
<div class="large-6 large-centered columns">
<h3>Create new multisig wallet</h3>
<hr>
<h6>Select total number of copayers</h6>
2014-04-16 13:07:14 -07:00
<select ng-model="totalCopayers"
ng-options="totalCopayers as totalCopayers for totalCopayers in TCValues">
</select>
</div>
</div>
<div class="row">
2014-04-17 14:11:42 -07:00
<div class="large-6 large-centered columns m30v">
<h6>Select required number of signatures</h6>
2014-04-16 13:07:14 -07:00
<select ng-model="requiredCopayers"
ng-options="requiredCopayers as requiredCopayers for requiredCopayers in RCValues">
</select>
</div>
2014-04-17 14:11:42 -07:00
<div class="large-6 large-centered columns">
<hr>
<button class="button primary round right" type="button"
2014-04-16 15:45:22 -07:00
ng-click="create(totalCopayers, requiredCopayers)">
Create {{requiredCopayers}}-of-{{totalCopayers}} wallet
</button>
2014-04-17 14:11:42 -07:00
<div class="left">
<a href="#signin">Go back</a>
</div>
2014-04-17 08:37:10 -07:00
</div>
</div>
2014-04-16 13:07:14 -07:00
</div>
</div>
</script>
<script type="text/ng-template" id="peer.html">
2014-04-18 11:36:38 -07:00
<div class="row" ng-controller="PeerController">
2014-04-16 13:25:33 -07:00
<div class="large-6 columns p70r line-dashed-v">
<h3>I am </h3>
<div class="row">
<div class="large-10 columns p0r">
<p class="panel share-wallet">{{$root.wallet.network.peerId}}</p>
</div>
<div class="large-2 columns">
<p class="panel panel-sign"> <i class="fi-page-copy size-22"></i> </p>
</div>
</div>
</div>
2014-04-16 13:25:33 -07:00
<div class="large-6 columns p70l">
2014-04-17 08:37:10 -07:00
<h3 class="panel-title">Online Copayers: {{$root.wallet.network.connectedPeers.length}}</h3>
2014-04-17 09:43:34 -07:00
<p class="text-info" ng-show="$root.wallet.publicKeyRing.requiredCopayers > $root.wallet.network.connectedPeers.length"> <i class="fi-alert size-28"></i>
{{$root.wallet.publicKeyRing.requiredCopayers}} copayers needed for signing transactions
2014-04-17 09:43:34 -07:00
2014-03-31 14:06:44 -07:00
<ul class="no-bullet">
2014-04-16 18:12:30 -07:00
<li class="panel" ng-repeat="copayer in $root.wallet.network.connectedPeers">
2014-04-17 14:11:42 -07:00
<span ng-if="copayer == $root.wallet.network.peerId"> You ({{copayer}})</span>
2014-04-17 08:37:10 -07:00
<span ng-if="copayer !== $root.wallet.network.peerId">{{copayer}}</span>
2014-04-16 13:25:33 -07:00
<span>
<i class="fi-check size-16 panel-sign right p5h br100"></i>
</span>
2014-03-31 14:06:44 -07:00
</li>
</ul>
</div>
</div>
2014-03-19 09:17:18 -07:00
</script>
2014-04-07 11:05:53 -07:00
2014-03-19 09:17:18 -07:00
<!-- ADDRESS -->
<script type="text/ng-template" id="addresses.html">
<div class="addresses" data-ng-controller="AddressesController">
<div ng-show='$root.wallet.publicKeyRing.isComplete()'>
2014-04-21 09:16:15 -07:00
<h3>Addresses (available to spend)</h3>
2014-04-07 11:05:53 -07:00
<div class="row">
<div class="large-6 columns">
2014-04-21 07:28:25 -07:00
<a class="panel db" ng-repeat="addr in addrs" ng-click="selectAddr(addr)">{{addr}}
<span ng-if="!isMain[addr]">(change)</span>
2014-04-21 09:16:15 -07:00
<span class="right">({{balanceByAddr[addr] || 0}} <i class="fi-bitcoin"></i>)</span></a>
2014-04-21 07:28:25 -07:00
2014-04-07 11:05:53 -07:00
</div>
2014-04-16 08:06:42 -07:00
<div class="large-3 columns line-dashed-v text-center">
<qrcode size="160" data="{{selectedAddr}}"></qrcode>
2014-04-21 03:27:45 -07:00
<p class="m10t" ng-repeat="addr in addrs" ng-if="selectedAddr==addr"> <strong> {{balanceByAddr[addr]}} <i class="fi-bitcoin"></i> </strong> </p>
2014-04-16 08:06:42 -07:00
</div>
<div class="large-3 columns text-center">
2014-04-16 08:06:42 -07:00
<p> Create a New <strong> Address </strong> </p>
<button class="secondary round expand" ng-click="newAddr()"> Create </button>
2014-04-07 11:05:53 -07:00
</div>
</div>
</div>
2014-03-26 05:18:42 -07:00
</div>
</script>
2014-03-26 13:56:11 -07:00
2014-04-08 10:16:38 -07:00
2014-03-26 13:56:11 -07:00
<!-- TRANSACTIONS -->
2014-03-26 05:18:42 -07:00
<script type="text/ng-template" id="transactions.html">
<div class="transactions" data-ng-controller="TransactionsController">
<div class="row" ng-show='$root.wallet.publicKeyRing.isComplete()'>
2014-04-14 13:58:12 -07:00
<div class="large-12 columns">
2014-04-20 15:08:04 -07:00
<h4>Pending transactions <small>({{txs.length}})</small></h4>
<div class="panel pending" ng-repeat="tx in txs | orderBy: 'createdTs':true">
2014-04-20 15:08:04 -07:00
<div class="txheader">
<div class="row">
<div class="large-8 columns">
2014-04-22 08:26:23 -07:00
<tr ng-repeat="o in tx.outs">
<td class="text-right size-24">{{o.value}} <i class="fi-bitcoin"></i></td>
<td class="text-center size-48"> <i class="fi-arrow-right size-40"> </i>
<td class="text-left size-24">{{o.address}}</td>
</tr>
2014-04-20 15:08:04 -07:00
</div>
<div class="large-4 columns text-right">
2014-04-22 08:26:23 -07:00
<h6> created at {{tx.createdTs | date:'medium'}} </h6>
2014-04-20 15:08:04 -07:00
</div>
</div>
2014-04-18 07:33:49 -07:00
</div>
2014-04-20 15:08:04 -07:00
<div class="row">
<div class="large-12 columns">
2014-04-21 03:27:45 -07:00
<table style="width:100%">
2014-04-20 15:08:04 -07:00
<tbody>
2014-04-22 08:26:23 -07:00
<tr>
<small class="right text-gray"> <strong> Proposal ID: </strong> {{tx.ntxid}} </small>
</tr>
2014-04-21 03:27:45 -07:00
<tr ng-repeat="(peer, actions) in tx.peerActions">
2014-04-21 09:23:39 -07:00
<td colspan="3">
<div class="panel status">
<span ng-if="peer == $root.wallet.network.peerId"> You
</span>
<span ng-if="peer != $root.wallet.network.peerId"> {{peer}}</span>
<span ng-repeat="(action, ts) in actions">
<span ng-if="action == 'create'" title="{{ts | date:'medium'}}" class="fi-page-add size-18 right m10h"></span>
<span ng-if="action == 'seen'" title="{{ts | date:'medium'}}" class="fi-eye size-18 right m10h"> </span>
<span ng-if="action == 'sign'" title="{{ts | date:'medium'}}" class="fi-check size-18 right m10h"> </span>
<a title="{{ts | date:'medium'}}"></a>
</span>
</div>
</td>
</tr>
2014-04-20 15:08:04 -07:00
</tbody>
</table>
</div>
2014-04-18 07:33:49 -07:00
</div>
2014-04-20 15:08:04 -07:00
<div class="txbottom">
<div class="row">
2014-04-21 03:27:45 -07:00
<div class="large-6 columns" ng-show="!tx.sentTs">
2014-04-20 15:08:04 -07:00
<div ng-show="tx.signedByUs">
<i class="fi-check size-40"></i> Signed by you already
</div>
2014-04-21 03:47:35 -07:00
<div ng-show="!tx.signedByUs && tx.missingSignatures">
2014-04-20 15:08:04 -07:00
<button class="secondary round" ng-click="sign(tx.ntxid)">
<i class="fi-check"></i> Sign
</button>
<button class="primary round">
<i class="fi-x"></i> Ignore
</button>
</div>
</div>
<div class="large-6 columns text-right">
2014-04-20 17:53:54 -07:00
<span ng-show="!tx.missingSignatures && !tx.sentTs">
Transaction ready.
<button class="secondary round" ng-click="send(tx.ntxid)">
Broadcast Transaction
</button>
</span>
2014-04-20 17:19:32 -07:00
<span ng-show="!tx.missingSignatures && tx.sentTs">
2014-04-21 03:27:45 -07:00
<i class="fi-arrow-right size-40"></i>
2014-04-20 17:19:32 -07:00
Sent at {{tx.sentTs | date:'medium'}}
2014-04-21 03:47:35 -07:00
TXID: {{tx.sentTxid}}
2014-04-20 15:08:04 -07:00
</span>
<span ng-show="tx.missingSignatures==1">
One signature missing
</span>
<span ng-show="tx.missingSignatures>1">
{{tx.missingSignatures}} signatures missing</span>
</div>
</div>
2014-04-18 07:33:49 -07:00
</div>
2014-04-20 15:08:04 -07:00
</div>
2014-04-08 10:16:38 -07:00
</div>
2014-04-14 13:58:12 -07:00
<div class="large-12 columns">
2014-04-20 17:53:54 -07:00
<!--
2014-04-20 15:08:04 -07:00
<h4>Last transactions</h4>
2014-04-08 10:16:38 -07:00
<div class="panel">
<div class="row">
2014-04-15 13:45:53 -07:00
<p class="large-5 columns"> Address 1 <small class="right"> 1231 BTC </small></p>
<i class="large-1 columns fi-arrow-left size-16 text-center"></i>
<p class="large-5 columns"> Address 2 <small class="right"> 1231 BTC </small></p>
2014-04-15 13:45:53 -07:00
<span class="panel-res panel-sign">
<i class="fi-check size-16"></i>
</span>
2014-04-08 10:16:38 -07:00
</div>
</div>
<div class="panel">
<div class="row">
2014-04-15 13:45:53 -07:00
<p class="large-5 columns"> Address 1 <small class="right"> 1231 BTC </small></p>
<i class="large-1 columns fi-arrow-left size-16 text-center"></i>
<p class="large-5 columns"> Address 2 <small class="right"> 1231 BTC </small></p>
2014-04-15 13:45:53 -07:00
<span class="panel-res panel-sign">
<i class="fi-check size-16"></i>
</span>
2014-04-08 10:16:38 -07:00
</div>
</div>
<div class="panel">
<div class="row">
2014-04-15 13:45:53 -07:00
<p class="large-5 columns"> Address 1 <small class="right"> 1231 BTC </small></p>
<i class="large-1 columns fi-arrow-left size-16 text-center"></i>
<p class="large-5 columns"> Address 2 <small class="right"> 1231 BTC </small></p>
2014-04-15 13:45:53 -07:00
<span class="panel-res panel-ignore">
<i class="fi-x size-16"></i>
</span>
2014-04-08 10:16:38 -07:00
</div>
</div>
2014-04-20 17:53:54 -07:00
-->
2014-04-08 10:16:38 -07:00
</div>
</div>
2014-03-26 05:18:42 -07:00
</div>
</script>
2014-03-26 13:56:11 -07:00
<!-- SEND -->
2014-03-26 05:18:42 -07:00
<script type="text/ng-template" id="send.html">
<div class="send" data-ng-controller="SendController">
<div class="row" ng-show='$root.wallet.publicKeyRing.isComplete()'>
<div class="small-6 large-centered columns">
<h3>{{title}}</h3>
<form name="sendForm" ng-submit="submitForm(sendForm)" novalidate>
<div class="row">
<div class="large-12 columns">
<label for="address">To address
<small ng-hide="!sendForm.address.$pristine">required</small>
<small class="is-valid" ng-show="!sendForm.address.$invalid && !sendForm.address.$pristine">valid!</small>
<small class="has-error" ng-show="sendForm.address.$invalid && !sendForm.address.$pristine">
not valid</small>
</label>
<input type="text" id="address" name="address" placeholder="Send to" ng-model="address" valid-address required>
</div>
</div>
<div class="row">
<div class="large-6 columns">
<div class="row collapse">
<label for="amount">Amount
<small ng-hide="!sendForm.amount.$pristine">required</small>
<small class="is-valid" ng-show="!sendForm.amount.$invalid && !sendForm.amount.$pristine">valid!</small>
<small class="has-error" ng-show="sendForm.amount.$invalid && !sendForm.amount.$pristine">
not valid</small>
</label>
<div class="small-9 columns">
<input type="number" id="amount" name="amount" placeholder="Amount" ng-model="amount" min="0.0001" max="10000000" required>
</div>
<div class="small-3 columns">
<span class="postfix">BTC</span>
</div>
</div>
</div>
</div>
<div class="row">
<div class="large-4 columns">
<button type="submit" class="button secondary round text-center" ng-disabled="sendForm.$invalid">
Send
</button>
</div>
</div>
2014-04-16 06:52:13 -07:00
</form>
</div>
</div>
2014-03-26 05:18:42 -07:00
</div>
</script>
2014-03-26 13:56:11 -07:00
<!-- BACKUP -->
2014-03-26 05:18:42 -07:00
<script type="text/ng-template" id="backup.html">
<div class="backup" data-ng-controller="BackupController">
<h3>{{title}}</h3>
2014-04-03 12:32:17 -07:00
<div class="row text-center">
<div class="large-4 columns">
2014-04-17 14:02:20 -07:00
<a class="panel box-backup" ng-click="download()">
2014-04-03 12:32:17 -07:00
<i class="fi-download size-72"></i>
<p> Download File </p>
</a>
</div>
<div class="large-4 columns">
2014-04-17 14:02:20 -07:00
<a class="panel box-backup" ng-click="dropbox()">
2014-04-03 12:32:17 -07:00
<i class="fi-social-dropbox size-72"></i>
<p> Backup to Dropbox </p>
</a>
</div>
<div class="large-4 columns">
2014-04-17 14:02:20 -07:00
<a class="panel box-backup" ng-click="email()">
2014-04-03 12:32:17 -07:00
<i class="fi-mail size-72"></i>
<p> Backup to email </p>
</a>
</div>
</div>
2014-03-26 05:18:42 -07:00
</div>
2014-03-19 09:17:18 -07:00
</script>
2014-04-17 09:43:34 -07:00
2014-04-03 12:32:17 -07:00
<!-- / <div class="large-4 columns box-backup">Backup to Dropbox</div>
// <div class="large-4 columns box-backup">Backup to email</div> -->
2014-03-26 13:56:11 -07:00
<!-- NOT FOUND -->
2014-03-19 09:17:18 -07:00
<script type="text/ng-template" id="404.html">
2014-03-26 05:18:42 -07:00
<h2 class="text-center">404</h2>
<h3 class="text-center">Page not found</h3>
<p class="text-center"><a href="#/">go back...</a></p>
2014-03-19 09:17:18 -07:00
</script>
<script src="config.js"></script>
2014-03-19 09:17:18 -07:00
<script src="lib/angular/angular.min.js"></script>
2014-03-26 13:56:11 -07:00
<script src="lib/qrcode-generator/js/qrcode.js"></script>
<script src="lib/angular-qrcode/qrcode.js"></script>
2014-03-19 09:17:18 -07:00
<script src="lib/angular-route/angular-route.min.js"></script>
<script src="lib/angular-foundation/mm-foundation.min.js"></script>
<script src="lib/angular-foundation/mm-foundation-tpls.min.js"></script>
<script src="lib/peerjs/peer.js"></script>
2014-04-07 11:31:41 -07:00
<script src="lib/bitcore.js"></script>
2014-04-15 14:13:25 -07:00
<script src="lib/crypto-js/rollups/aes.js"></script>
2014-04-17 14:02:20 -07:00
<script src="lib/file-saver/FileSaver.js"></script>
<script src="lib/socket.io.js"></script>
<script src="js/copayBundle.js"></script>
2014-04-07 11:31:41 -07:00
2014-03-19 09:17:18 -07:00
<script src="js/app.js"></script>
2014-04-07 20:54:38 -07:00
<script src="js/routes.js"></script>
2014-03-19 09:17:18 -07:00
<script src="js/directives.js"></script>
<script src="js/filters.js"></script>
<script src="js/services/socket.js"></script>
2014-04-16 15:14:58 -07:00
<script src="js/services/walletFactory.js"></script>
2014-04-17 07:46:49 -07:00
<script src="js/services/controllerUtils.js"></script>
2014-03-25 07:35:04 -07:00
<script src="js/controllers/header.js"></script>
<script src="js/controllers/addresses.js"></script>
2014-03-26 05:18:42 -07:00
<script src="js/controllers/transactions.js"></script>
<script src="js/controllers/send.js"></script>
<script src="js/controllers/backup.js"></script>
<script src="js/controllers/signin.js"></script>
2014-04-16 13:07:14 -07:00
<script src="js/controllers/setup.js"></script>
<script src="js/controllers/peer.js"></script>
2014-03-25 07:35:04 -07:00
2014-03-19 09:17:18 -07:00
<script src="js/init.js"></script>
2014-03-14 13:38:27 -07:00
</body>
</html>