├── .bowerrc
├── .editorconfig
├── .gitignore
├── .io-config.json
├── LICENSE
├── README.md
├── bower.json
├── config.xml
├── gulpfile.js
├── hooks
├── README.md
└── after_prepare
│ └── 010_add_platform_class.js
├── ionic.project
├── package.json
├── resources
├── ._icon.png
├── ._splash.png
├── android
│ ├── icon
│ │ ├── drawable-hdpi-icon.png
│ │ ├── drawable-ldpi-icon.png
│ │ ├── drawable-mdpi-icon.png
│ │ ├── drawable-xhdpi-icon.png
│ │ ├── drawable-xxhdpi-icon.png
│ │ └── drawable-xxxhdpi-icon.png
│ └── splash
│ │ ├── drawable-land-hdpi-screen.png
│ │ ├── drawable-land-ldpi-screen.png
│ │ ├── drawable-land-mdpi-screen.png
│ │ ├── drawable-land-xhdpi-screen.png
│ │ ├── drawable-land-xxhdpi-screen.png
│ │ ├── drawable-land-xxxhdpi-screen.png
│ │ ├── drawable-port-hdpi-screen.png
│ │ ├── drawable-port-ldpi-screen.png
│ │ ├── drawable-port-mdpi-screen.png
│ │ ├── drawable-port-xhdpi-screen.png
│ │ ├── drawable-port-xxhdpi-screen.png
│ │ └── drawable-port-xxxhdpi-screen.png
├── icon.png
├── ios
│ ├── icon
│ │ ├── icon-40.png
│ │ ├── icon-40@2x.png
│ │ ├── icon-50.png
│ │ ├── icon-50@2x.png
│ │ ├── icon-60.png
│ │ ├── icon-60@2x.png
│ │ ├── icon-60@3x.png
│ │ ├── icon-72.png
│ │ ├── icon-72@2x.png
│ │ ├── icon-76.png
│ │ ├── icon-76@2x.png
│ │ ├── icon-small.png
│ │ ├── icon-small@2x.png
│ │ ├── icon-small@3x.png
│ │ ├── icon.png
│ │ └── icon@2x.png
│ └── splash
│ │ ├── Default-568h@2x~iphone.png
│ │ ├── Default-667h.png
│ │ ├── Default-736h.png
│ │ ├── Default-Landscape-736h.png
│ │ ├── Default-Landscape@2x~ipad.png
│ │ ├── Default-Landscape~ipad.png
│ │ ├── Default-Portrait@2x~ipad.png
│ │ ├── Default-Portrait~ipad.png
│ │ ├── Default@2x~iphone.png
│ │ └── Default~iphone.png
└── splash.png
├── scss
└── ionic.app.scss
└── www
├── README.md
├── css
├── ionic.app.css
├── ionic.app.min.css
└── style.css
├── img
└── ionic.png
├── index.html
├── js
├── app.js
├── clipboard.js
├── controllers.js
└── services.js
├── lib
├── Chart.js
│ ├── .bower.json
│ ├── .gitignore
│ ├── .travis.yml
│ ├── CONTRIBUTING.md
│ ├── Chart.js
│ ├── Chart.min.js
│ ├── LICENSE.md
│ ├── README.md
│ ├── bower.json
│ ├── docs
│ │ ├── 00-Getting-Started.md
│ │ ├── 01-Line-Chart.md
│ │ ├── 02-Bar-Chart.md
│ │ ├── 03-Radar-Chart.md
│ │ ├── 04-Polar-Area-Chart.md
│ │ ├── 05-Pie-Doughnut-Chart.md
│ │ ├── 06-Advanced.md
│ │ └── 07-Notes.md
│ ├── gulpfile.js
│ ├── package.json
│ ├── samples
│ │ ├── bar.html
│ │ ├── doughnut.html
│ │ ├── line-customTooltips.html
│ │ ├── line.html
│ │ ├── pie-customTooltips.html
│ │ ├── pie.html
│ │ ├── polar-area.html
│ │ └── radar.html
│ └── src
│ │ ├── Chart.Bar.js
│ │ ├── Chart.Core.js
│ │ ├── Chart.Doughnut.js
│ │ ├── Chart.Line.js
│ │ ├── Chart.PolarArea.js
│ │ └── Chart.Radar.js
├── CordovaClipboard
│ ├── .bower.json
│ └── index
├── angular-animate
│ ├── .bower.json
│ ├── README.md
│ ├── angular-animate.js
│ ├── angular-animate.min.js
│ ├── angular-animate.min.js.map
│ ├── bower.json
│ ├── index.js
│ └── package.json
├── angular-chart.js
│ ├── .bower.json
│ ├── LICENSE
│ ├── README.md
│ ├── angular-chart.js
│ ├── angular-chart.less
│ ├── bower.json
│ ├── dist
│ │ ├── angular-chart.css
│ │ ├── angular-chart.js
│ │ ├── angular-chart.js.tar.gz
│ │ ├── angular-chart.min.css
│ │ ├── angular-chart.min.css.map
│ │ ├── angular-chart.min.js
│ │ └── angular-chart.min.js.map
│ ├── gulpfile.js
│ └── package.json
├── angular-sanitize
│ ├── .bower.json
│ ├── README.md
│ ├── angular-sanitize.js
│ ├── angular-sanitize.min.js
│ ├── angular-sanitize.min.js.map
│ ├── bower.json
│ ├── index.js
│ └── package.json
├── angular-ui-router
│ ├── .bower.json
│ ├── CHANGELOG.md
│ ├── CONTRIBUTING.md
│ ├── LICENSE
│ ├── README.md
│ ├── api
│ │ └── angular-ui-router.d.ts
│ ├── bower.json
│ ├── release
│ │ ├── angular-ui-router.js
│ │ └── angular-ui-router.min.js
│ └── src
│ │ ├── common.js
│ │ ├── resolve.js
│ │ ├── state.js
│ │ ├── stateDirectives.js
│ │ ├── stateFilters.js
│ │ ├── templateFactory.js
│ │ ├── urlMatcherFactory.js
│ │ ├── urlRouter.js
│ │ ├── view.js
│ │ ├── viewDirective.js
│ │ └── viewScroll.js
├── angular
│ ├── .bower.json
│ ├── README.md
│ ├── angular-csp.css
│ ├── angular.js
│ ├── angular.min.js
│ ├── angular.min.js.gzip
│ ├── angular.min.js.map
│ ├── bower.json
│ ├── index.js
│ └── package.json
├── ionic-native-transitions
│ └── ionic-native-transitions.min.js
├── ionic
│ ├── css
│ │ ├── ionic.css
│ │ └── ionic.min.css
│ ├── fonts
│ │ ├── ionicons.eot
│ │ ├── ionicons.svg
│ │ ├── ionicons.ttf
│ │ └── ionicons.woff
│ ├── js
│ │ ├── angular-ui
│ │ │ ├── angular-ui-router.js
│ │ │ └── angular-ui-router.min.js
│ │ ├── angular
│ │ │ ├── angular-animate.js
│ │ │ ├── angular-animate.min.js
│ │ │ ├── angular-resource.js
│ │ │ ├── angular-resource.min.js
│ │ │ ├── angular-sanitize.js
│ │ │ ├── angular-sanitize.min.js
│ │ │ ├── angular.js
│ │ │ └── angular.min.js
│ │ ├── ionic-angular.js
│ │ ├── ionic-angular.min.js
│ │ ├── ionic.bundle.js
│ │ ├── ionic.bundle.min.js
│ │ ├── ionic.js
│ │ └── ionic.min.js
│ ├── scss
│ │ ├── _action-sheet.scss
│ │ ├── _animations.scss
│ │ ├── _backdrop.scss
│ │ ├── _badge.scss
│ │ ├── _bar.scss
│ │ ├── _button-bar.scss
│ │ ├── _button.scss
│ │ ├── _checkbox.scss
│ │ ├── _form.scss
│ │ ├── _grid.scss
│ │ ├── _items.scss
│ │ ├── _list.scss
│ │ ├── _loading.scss
│ │ ├── _menu.scss
│ │ ├── _mixins.scss
│ │ ├── _modal.scss
│ │ ├── _platform.scss
│ │ ├── _popover.scss
│ │ ├── _popup.scss
│ │ ├── _progress.scss
│ │ ├── _radio.scss
│ │ ├── _range.scss
│ │ ├── _refresher.scss
│ │ ├── _reset.scss
│ │ ├── _scaffolding.scss
│ │ ├── _select.scss
│ │ ├── _slide-box.scss
│ │ ├── _slides.scss
│ │ ├── _spinner.scss
│ │ ├── _tabs.scss
│ │ ├── _toggle.scss
│ │ ├── _transitions.scss
│ │ ├── _type.scss
│ │ ├── _util.scss
│ │ ├── _variables.scss
│ │ ├── ionic.scss
│ │ └── ionicons
│ │ │ ├── _ionicons-font.scss
│ │ │ ├── _ionicons-icons.scss
│ │ │ ├── _ionicons-variables.scss
│ │ │ └── ionicons.scss
│ └── version.json
├── ngCordova
│ ├── .bower.json
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── bower.json
│ ├── dist
│ │ ├── lightwallet.min.js
│ │ ├── ng-cordova-mocks.js
│ │ ├── ng-cordova-mocks.min.js
│ │ ├── ng-cordova.js
│ │ ├── ng-cordova.min.js
│ │ ├── web3-light.js
│ │ ├── web3-light.min.js
│ │ ├── web3.js
│ │ ├── web3.js.map
│ │ └── web3.min.js
│ └── package.json
├── ngstorage
│ ├── .bower.json
│ ├── .editorconfig
│ ├── .gitattributes
│ ├── .npmignore
│ ├── LICENSE
│ ├── README.md
│ ├── bower.json
│ ├── ngStorage.js
│ ├── ngStorage.min.js
│ └── package.js
├── thirdparty
│ ├── .DS_Store
│ ├── angular-qr.js
│ ├── angular-sanitize.js
│ ├── async.js
│ ├── bignumber.min.js
│ ├── chance.min.js
│ ├── elliptic.min.js
│ ├── ethereumjs-tx.js
│ ├── hooked-web3-provider.js
│ ├── ionic.swipecards.js
│ ├── keystore.js
│ ├── lightwallet.min.js
│ ├── qrcode.js
│ ├── txutils.js
│ ├── web3.js
│ ├── web3.js.map
│ └── xml2json.min.js
└── web3
│ ├── .bower.json
│ ├── LICENSE
│ ├── README.md
│ ├── bower.json
│ ├── dist
│ ├── web3-light.js
│ ├── web3-light.min.js
│ ├── web3.js
│ ├── web3.js.map
│ └── web3.min.js
│ ├── package-init.js
│ ├── styleguide.md
│ └── test
│ ├── async.js
│ ├── batch.js
│ ├── coder.decodeParam.js
│ ├── coder.encodeParam.js
│ ├── contract.js
│ ├── errors.js
│ ├── event.decode.js
│ ├── event.encode.js
│ ├── formatters.inputAddressFormatter.js
│ ├── formatters.inputDefaultBlockFormatter.js
│ ├── formatters.inputPostFormatter.js
│ ├── formatters.inputTransactionFormatter.js
│ ├── formatters.outputBlockFormatter.js
│ ├── formatters.outputLogFormatter.js
│ ├── formatters.outputPostFormatter.js
│ ├── formatters.outputTransactionFormatter.js
│ ├── helpers
│ ├── FakeHttpProvider.js
│ ├── FakeHttpProvider2.js
│ ├── FakeIpcRequest.js
│ ├── FakeQtNavigator.js
│ ├── FakeXMLHttpRequest.js
│ ├── test.method.js
│ └── test.utils.js
│ ├── httpprovider.js
│ ├── iban.createIndirect.js
│ ├── iban.fromAddress.js
│ ├── iban.isValid.js
│ ├── iban.toAddress.js
│ ├── ipcprovider.js
│ ├── jsonrpc.id.js
│ ├── jsonrpc.isValidResponse.js
│ ├── jsonrpc.toBatchPayload.js
│ ├── jsonrpc.toPayload.js
│ ├── method.extractCallback.js
│ ├── method.formatInput.js
│ ├── method.formatOutput.js
│ ├── method.getCall.js
│ ├── method.validateArgs.js
│ ├── mocha.opts
│ ├── node
│ └── app.js
│ ├── polling.js
│ ├── requestmanager.js
│ ├── sha3.js
│ ├── utils.extractDisplayName.js
│ ├── utils.extractTypeName.js
│ ├── utils.fromAscii.js
│ ├── utils.fromDecimal.js
│ ├── utils.fromUtf8.js
│ ├── utils.fromWei.js
│ ├── utils.isAddress.js
│ ├── utils.isBigNumber.js
│ ├── utils.isFunction.js
│ ├── utils.isJson.js
│ ├── utils.isStrictAddress.js
│ ├── utils.isString.js
│ ├── utils.toAscii.js
│ ├── utils.toBigNumber.js
│ ├── utils.toDecimal.js
│ ├── utils.toHex.js
│ ├── utils.toUtf8.js
│ ├── utils.toWei.js
│ ├── web3.db.getHex.js
│ ├── web3.db.getString.js
│ ├── web3.db.methods.js
│ ├── web3.db.putHex.js
│ ├── web3.db.putString.js
│ ├── web3.eth.accounts.js
│ ├── web3.eth.blockNumber.js
│ ├── web3.eth.call.js
│ ├── web3.eth.coinbase.js
│ ├── web3.eth.contract.js
│ ├── web3.eth.defaultBlock.js
│ ├── web3.eth.estimateGas.js
│ ├── web3.eth.filter.js
│ ├── web3.eth.gasPrice.js
│ ├── web3.eth.getBalance.js
│ ├── web3.eth.getBlock.js
│ ├── web3.eth.getBlockTransactionCount.js
│ ├── web3.eth.getBlockUncleCount.js
│ ├── web3.eth.getCode.js
│ ├── web3.eth.getCompilers.js
│ ├── web3.eth.getStorageAt.js
│ ├── web3.eth.getTransaction.js
│ ├── web3.eth.getTransactionFromBlock.js
│ ├── web3.eth.getTransactionReceipt.js
│ ├── web3.eth.getUncle.js
│ ├── web3.eth.getWork.js
│ ├── web3.eth.hashRate.js
│ ├── web3.eth.isSyncing.js
│ ├── web3.eth.methods.js
│ ├── web3.eth.mining.js
│ ├── web3.eth.sendIBANTransaction.js
│ ├── web3.eth.submitWork.js
│ ├── web3.extend.js
│ ├── web3.fromICAP.js
│ ├── web3.methods.js
│ ├── web3.net.listening.js
│ ├── web3.net.methods.js
│ ├── web3.net.peerCount.js
│ ├── web3.shh.filter.js
│ ├── web3.shh.hasIdentity.js
│ ├── web3.shh.methods.js
│ └── web3.shh.post.js
└── templates
├── block.html
├── checkbalance.html
├── credits.html
├── marketcap.html
├── price.html
├── send.html
├── tabs.html
└── wallet.html
/.bowerrc:
--------------------------------------------------------------------------------
1 | {
2 | "directory": "www/lib"
3 | }
4 |
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | # http://editorconfig.org
2 | root = true
3 |
4 | [*]
5 | charset = utf-8
6 | indent_style = space
7 | indent_size = 2
8 | end_of_line = lf
9 | insert_final_newline = true
10 | trim_trailing_whitespace = true
11 |
12 | [*.md]
13 | insert_final_newline = false
14 | trim_trailing_whitespace = false
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Specifies intentionally untracked files to ignore when using Git
2 | # http://git-scm.com/docs/gitignore
3 |
4 | node_modules/
5 | platforms/
6 | plugins/
7 |
8 | www.zip
9 |
--------------------------------------------------------------------------------
/.io-config.json:
--------------------------------------------------------------------------------
1 | {"app_id":"0f5ba7c6","api_key":"e409e272833472ceaad544d4edcdc83aeab2f955cc6ce400"}
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2016 Lightrains Technolabs Pvt Ltd
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Ethereum Wallet
2 | An Ethereum Wallet, is a simple app to check ethereum balance. But we are integrating some more features to it.
3 |
4 | ## Features
5 | * Check your Balance
6 | * Check Block Statistics
7 | * Price Statistics
8 |
9 | 
10 |
11 | ## Platform
12 | The app is built on [ionic framework](http://ionicframework.com), feel free to fork away and submit your changes.
13 |
14 | ## Donations?
15 | * ETH: 0xc2593b43eef66488d45b014fc8f86830f08c48fd
16 | * BTC: 1Fj87rtZ7KvjXkoLY5wbgMN4A5H6QiuxpZ
17 |
--------------------------------------------------------------------------------
/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "HelloIonic",
3 | "private": "true",
4 | "devDependencies": {
5 | "ionic": "driftyco/ionic-bower#1.2.4"
6 | },
7 | "dependencies": {
8 | "angular-chart.js": "~0.8.8",
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/gulpfile.js:
--------------------------------------------------------------------------------
1 | var gulp = require('gulp');
2 | var gutil = require('gulp-util');
3 | var bower = require('bower');
4 | var concat = require('gulp-concat');
5 | var sass = require('gulp-sass');
6 | var minifyCss = require('gulp-minify-css');
7 | var rename = require('gulp-rename');
8 | var sh = require('shelljs');
9 |
10 | var paths = {
11 | sass: ['./scss/**/*.scss']
12 | };
13 |
14 | gulp.task('default', ['sass']);
15 |
16 | gulp.task('sass', function(done) {
17 | gulp.src('./scss/ionic.app.scss')
18 | .pipe(sass())
19 | .on('error', sass.logError)
20 | .pipe(gulp.dest('./www/css/'))
21 | .pipe(minifyCss({
22 | keepSpecialComments: 0
23 | }))
24 | .pipe(rename({ extname: '.min.css' }))
25 | .pipe(gulp.dest('./www/css/'))
26 | .on('end', done);
27 | });
28 |
29 | gulp.task('watch', function() {
30 | gulp.watch(paths.sass, ['sass']);
31 | });
32 |
33 | gulp.task('install', ['git-check'], function() {
34 | return bower.commands.install()
35 | .on('log', function(data) {
36 | gutil.log('bower', gutil.colors.cyan(data.id), data.message);
37 | });
38 | });
39 |
40 | gulp.task('git-check', function(done) {
41 | if (!sh.which('git')) {
42 | console.log(
43 | ' ' + gutil.colors.red('Git is not installed.'),
44 | '\n Git, the version control system, is required to download Ionic.',
45 | '\n Download git here:', gutil.colors.cyan('http://git-scm.com/downloads') + '.',
46 | '\n Once git is installed, run \'' + gutil.colors.cyan('gulp install') + '\' again.'
47 | );
48 | process.exit(1);
49 | }
50 | done();
51 | });
52 |
--------------------------------------------------------------------------------
/ionic.project:
--------------------------------------------------------------------------------
1 | {
2 | "name": "etherwallet",
3 | "app_id": "0f5ba7c6"
4 | }
5 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "ionic-project",
3 | "version": "1.1.1",
4 | "description": "An Ionic project",
5 | "dependencies": {
6 | "gulp": "^3.5.6",
7 | "gulp-concat": "^2.2.0",
8 | "gulp-minify-css": "^0.3.0",
9 | "gulp-rename": "^1.2.0",
10 | "gulp-sass": "^2.0.4",
11 | "ionic-native-transitions": "^1.0.0-rc9"
12 | },
13 | "devDependencies": {
14 | "bower": "^1.3.3",
15 | "gulp-util": "^2.2.14",
16 | "shelljs": "^0.3.0"
17 | },
18 | "cordovaPlugins": [
19 | "cordova-plugin-device",
20 | "cordova-plugin-console",
21 | "cordova-plugin-whitelist",
22 | "cordova-plugin-splashscreen",
23 | "cordova-plugin-statusbar",
24 | "ionic-plugin-keyboard",
25 | "com.verso.cordova.clipboard"
26 | ],
27 | "cordovaPlatforms": [
28 | "ios",
29 | "android"
30 | ]
31 | }
32 |
--------------------------------------------------------------------------------
/resources/._icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/resources/._icon.png
--------------------------------------------------------------------------------
/resources/._splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/resources/._splash.png
--------------------------------------------------------------------------------
/resources/android/icon/drawable-hdpi-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/resources/android/icon/drawable-hdpi-icon.png
--------------------------------------------------------------------------------
/resources/android/icon/drawable-ldpi-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/resources/android/icon/drawable-ldpi-icon.png
--------------------------------------------------------------------------------
/resources/android/icon/drawable-mdpi-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/resources/android/icon/drawable-mdpi-icon.png
--------------------------------------------------------------------------------
/resources/android/icon/drawable-xhdpi-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/resources/android/icon/drawable-xhdpi-icon.png
--------------------------------------------------------------------------------
/resources/android/icon/drawable-xxhdpi-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/resources/android/icon/drawable-xxhdpi-icon.png
--------------------------------------------------------------------------------
/resources/android/icon/drawable-xxxhdpi-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/resources/android/icon/drawable-xxxhdpi-icon.png
--------------------------------------------------------------------------------
/resources/android/splash/drawable-land-hdpi-screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/resources/android/splash/drawable-land-hdpi-screen.png
--------------------------------------------------------------------------------
/resources/android/splash/drawable-land-ldpi-screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/resources/android/splash/drawable-land-ldpi-screen.png
--------------------------------------------------------------------------------
/resources/android/splash/drawable-land-mdpi-screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/resources/android/splash/drawable-land-mdpi-screen.png
--------------------------------------------------------------------------------
/resources/android/splash/drawable-land-xhdpi-screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/resources/android/splash/drawable-land-xhdpi-screen.png
--------------------------------------------------------------------------------
/resources/android/splash/drawable-land-xxhdpi-screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/resources/android/splash/drawable-land-xxhdpi-screen.png
--------------------------------------------------------------------------------
/resources/android/splash/drawable-land-xxxhdpi-screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/resources/android/splash/drawable-land-xxxhdpi-screen.png
--------------------------------------------------------------------------------
/resources/android/splash/drawable-port-hdpi-screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/resources/android/splash/drawable-port-hdpi-screen.png
--------------------------------------------------------------------------------
/resources/android/splash/drawable-port-ldpi-screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/resources/android/splash/drawable-port-ldpi-screen.png
--------------------------------------------------------------------------------
/resources/android/splash/drawable-port-mdpi-screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/resources/android/splash/drawable-port-mdpi-screen.png
--------------------------------------------------------------------------------
/resources/android/splash/drawable-port-xhdpi-screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/resources/android/splash/drawable-port-xhdpi-screen.png
--------------------------------------------------------------------------------
/resources/android/splash/drawable-port-xxhdpi-screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/resources/android/splash/drawable-port-xxhdpi-screen.png
--------------------------------------------------------------------------------
/resources/android/splash/drawable-port-xxxhdpi-screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/resources/android/splash/drawable-port-xxxhdpi-screen.png
--------------------------------------------------------------------------------
/resources/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/resources/icon.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/resources/ios/icon/icon-40.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/resources/ios/icon/icon-40@2x.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-50.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/resources/ios/icon/icon-50.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-50@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/resources/ios/icon/icon-50@2x.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-60.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/resources/ios/icon/icon-60.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/resources/ios/icon/icon-60@2x.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/resources/ios/icon/icon-60@3x.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-72.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/resources/ios/icon/icon-72.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-72@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/resources/ios/icon/icon-72@2x.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/resources/ios/icon/icon-76.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/resources/ios/icon/icon-76@2x.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/resources/ios/icon/icon-small.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-small@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/resources/ios/icon/icon-small@2x.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-small@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/resources/ios/icon/icon-small@3x.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/resources/ios/icon/icon.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/resources/ios/icon/icon@2x.png
--------------------------------------------------------------------------------
/resources/ios/splash/Default-568h@2x~iphone.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/resources/ios/splash/Default-568h@2x~iphone.png
--------------------------------------------------------------------------------
/resources/ios/splash/Default-667h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/resources/ios/splash/Default-667h.png
--------------------------------------------------------------------------------
/resources/ios/splash/Default-736h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/resources/ios/splash/Default-736h.png
--------------------------------------------------------------------------------
/resources/ios/splash/Default-Landscape-736h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/resources/ios/splash/Default-Landscape-736h.png
--------------------------------------------------------------------------------
/resources/ios/splash/Default-Landscape@2x~ipad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/resources/ios/splash/Default-Landscape@2x~ipad.png
--------------------------------------------------------------------------------
/resources/ios/splash/Default-Landscape~ipad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/resources/ios/splash/Default-Landscape~ipad.png
--------------------------------------------------------------------------------
/resources/ios/splash/Default-Portrait@2x~ipad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/resources/ios/splash/Default-Portrait@2x~ipad.png
--------------------------------------------------------------------------------
/resources/ios/splash/Default-Portrait~ipad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/resources/ios/splash/Default-Portrait~ipad.png
--------------------------------------------------------------------------------
/resources/ios/splash/Default@2x~iphone.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/resources/ios/splash/Default@2x~iphone.png
--------------------------------------------------------------------------------
/resources/ios/splash/Default~iphone.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/resources/ios/splash/Default~iphone.png
--------------------------------------------------------------------------------
/resources/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/resources/splash.png
--------------------------------------------------------------------------------
/scss/ionic.app.scss:
--------------------------------------------------------------------------------
1 | /*
2 | To customize the look and feel of Ionic, you can override the variables
3 | in ionic's _variables.scss file.
4 |
5 | For example, you might change some of the default colors:
6 |
7 | $light: #fff !default;
8 | $stable: #f8f8f8 !default;
9 | $positive: #387ef5 !default;
10 | $calm: #11c1f3 !default;
11 | $balanced: #33cd5f !default;
12 | $energized: #ffc900 !default;
13 | $assertive: #ef473a !default;
14 | $royal: #886aea !default;
15 | $dark: #444 !default;
16 | */
17 |
18 | // The path for our ionicons font files, relative to the built CSS in www/css
19 | $ionicons-font-path: "../lib/ionic/fonts" !default;
20 |
21 | // Include all of Ionic
22 | @import "www/lib/ionic/scss/ionic";
23 |
24 | .center-middle {
25 | -webkit-background-size: cover;
26 | -moz-background-size: cover;
27 | -o-background-size: cover;
28 | background-size: cover;
29 | position: fixed;
30 | top: 30%;
31 | }
32 | .centered {
33 | text-align: center;
34 | }
35 | .muted {
36 | opacity: 0.6;
37 | }
38 | .balancetxt {
39 | font-size: 30px;
40 | font-weight: bold;
41 | line-height: 35px;
42 | }
43 | .red, .down {
44 | color: red;
45 | }
46 | .green, .up {
47 | color: green;
48 | }
49 | canvas#line.chart.chart-line {
50 | width: 100% !important;
51 | max-width: 100%;
52 | }
53 | .selectable {
54 | -webkit-user-select: auto !important;
55 | -khtml-user-select: auto !important;
56 | -moz-user-select: auto !important;
57 | -ms-user-select: auto !important;
58 | -o-user-select: auto !important;
59 | user-select: auto !important;
60 | }
61 | .cbf {
62 | .item-toggle {
63 | border: 0 none;
64 | }
65 | }
66 | .mcapVal{
67 | color: #3d3d3d;
68 | font-size: 16px;
69 | }
70 | .donate {
71 | font-size: 1.3rem;
72 | }
73 | .tab-item.tab-item-active, .tab-item.active, .tab-item.activated {
74 | color: red;
75 | }
76 |
--------------------------------------------------------------------------------
/www/README.md:
--------------------------------------------------------------------------------
1 | This is an addon starter template for the [Ionic Framework](http://ionicframework.com/).
2 |
3 | ## How to use this template
4 |
5 | *This template does not work on its own*. It is missing the Ionic library, and AngularJS.
6 |
7 | To use this, either create a new ionic project using the ionic node.js utility, or copy and paste this into an existing Cordova project and download a release of Ionic separately.
8 |
9 | ### With the Ionic tool:
10 |
11 | Take the name after `ionic-starter-`, and that is the name of the template to be used when using the `ionic start` command below:
12 |
13 | ```bash
14 | $ sudo npm install -g ionic cordova
15 | $ ionic start myApp sidemenu
16 | ```
17 |
18 | Then, to run it, cd into `myApp` and run:
19 |
20 | ```bash
21 | $ ionic platform add ios
22 | $ ionic build ios
23 | $ ionic emulate ios
24 | ```
25 |
26 | Substitute ios for android if not on a Mac, but if you can, the ios development toolchain is a lot easier to work with until you need to do anything custom to Android.
27 |
28 | ## Demo
29 | http://plnkr.co/edit/0RXSDB?p=preview
30 |
31 | ## Issues
32 | Issues have been disabled on this repo, if you do find an issue or have a question consider posting it on the [Ionic Forum](http://forum.ionicframework.com/). Or else if there is truly an error, follow our guidelines for [submitting an issue](http://ionicframework.com/contribute/#issues) to the main Ionic repository. On the other hand, pull requests are welcome here!
33 |
--------------------------------------------------------------------------------
/www/css/style.css:
--------------------------------------------------------------------------------
1 | /* Empty. Add your own CSS if you like */
2 |
3 |
4 | .center-middle {
5 | -webkit-background-size: cover;
6 | -moz-background-size: cover;
7 | -o-background-size: cover;
8 | background-size: cover;
9 | position: fixed;
10 | top: 35%;
11 | }
12 | .centered {
13 | text-align: center;
14 | }
15 | .muted {
16 | opacity: 0.6;
17 | }
18 | .balancetxt {
19 | font-size: 30px;
20 | font-weight: bold;
21 | line-height: 35px;
22 | }
23 | .red {
24 | color: red;
25 | }
26 |
--------------------------------------------------------------------------------
/www/img/ionic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/www/img/ionic.png
--------------------------------------------------------------------------------
/www/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/www/js/clipboard.js:
--------------------------------------------------------------------------------
1 | var cordova = require('cordova');
2 |
3 | /**
4 | * Clipboard plugin for Cordova
5 | *
6 | * @constructor
7 | */
8 | function Clipboard () {}
9 |
10 | /**
11 | * Sets the clipboard content
12 | *
13 | * @param {String} text The content to copy to the clipboard
14 | * @param {Function} onSuccess The function to call in case of success (takes the copied text as argument)
15 | * @param {Function} onFail The function to call in case of error
16 | */
17 | Clipboard.prototype.copy = function (text, onSuccess, onFail) {
18 | if (typeof text === "undefined" || text === null) text = "";
19 | cordova.exec(onSuccess, onFail, "Clipboard", "copy", [text]);
20 | };
21 |
22 | /**
23 | * Gets the clipboard content
24 | *
25 | * @param {Function} onSuccess The function to call in case of success
26 | * @param {Function} onFail The function to call in case of error
27 | */
28 | Clipboard.prototype.paste = function (onSuccess, onFail) {
29 | cordova.exec(onSuccess, onFail, "Clipboard", "paste", []);
30 | };
31 |
32 | // Register the plugin
33 | var clipboard = new Clipboard();
34 | module.exports = clipboard;
35 |
--------------------------------------------------------------------------------
/www/lib/Chart.js/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Chart.js",
3 | "version": "1.0.2",
4 | "description": "Simple HTML5 Charts using the canvas element",
5 | "homepage": "https://github.com/nnnick/Chart.js",
6 | "author": "nnnick",
7 | "main": [
8 | "Chart.js"
9 | ],
10 | "dependencies": {},
11 | "_release": "1.0.2",
12 | "_resolution": {
13 | "type": "version",
14 | "tag": "v1.0.2",
15 | "commit": "930b16a0af59201dcfcd1594b0e7540db4d04c9f"
16 | },
17 | "_source": "git://github.com/nnnick/Chart.js.git",
18 | "_target": "~1.0.1",
19 | "_originalSource": "Chart.js"
20 | }
--------------------------------------------------------------------------------
/www/lib/Chart.js/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | .DS_Store
3 |
4 | node_modules/*
5 | custom/*
6 |
7 | docs/index.md
8 |
--------------------------------------------------------------------------------
/www/lib/Chart.js/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | node_js:
3 | - "0.11"
4 | - "0.10"
5 |
6 | before_script:
7 | - npm install
8 |
9 | script:
10 | - gulp test
11 |
12 | notifications:
13 | slack: chartjs:pcfCZR6ugg5TEcaLtmIfQYuA
14 |
--------------------------------------------------------------------------------
/www/lib/Chart.js/LICENSE.md:
--------------------------------------------------------------------------------
1 | Copyright (c) 2013-2015 Nick Downie
2 |
3 | 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:
4 |
5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
6 |
7 | 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 |
--------------------------------------------------------------------------------
/www/lib/Chart.js/README.md:
--------------------------------------------------------------------------------
1 | # Chart.js
2 |
3 | [](https://travis-ci.org/nnnick/Chart.js) [](https://codeclimate.com/github/nnnick/Chart.js)
4 |
5 |
6 | *Simple HTML5 Charts using the canvas element* [chartjs.org](http://www.chartjs.org)
7 |
8 | ## Documentation
9 |
10 | You can find documentation at [chartjs.org/docs](http://www.chartjs.org/docs/). The markdown files that build the site are available under `/docs`. Please note - in some of the json examples of configuration you might notice some liquid tags - this is just for the generating the site html, please disregard.
11 |
12 | ## Bugs, issues and contributing
13 |
14 | Before submitting an issue or a pull request to the project, please take a moment to look over the [contributing guidelines](https://github.com/nnnick/Chart.js/blob/master/CONTRIBUTING.md) first.
15 |
16 | For support using Chart.js, please post questions with the [`chartjs` tag on Stack Overflow](http://stackoverflow.com/questions/tagged/chartjs).
17 |
18 | ## License
19 |
20 | Chart.js is available under the [MIT license](http://opensource.org/licenses/MIT).
21 |
--------------------------------------------------------------------------------
/www/lib/Chart.js/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Chart.js",
3 | "version": "1.0.2",
4 | "description": "Simple HTML5 Charts using the canvas element",
5 | "homepage": "https://github.com/nnnick/Chart.js",
6 | "author": "nnnick",
7 | "main": [
8 | "Chart.js"
9 | ],
10 | "dependencies": {}
11 | }
--------------------------------------------------------------------------------
/www/lib/Chart.js/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "chart.js",
3 | "homepage": "http://www.chartjs.org",
4 | "description": "Simple HTML5 charts using the canvas element.",
5 | "version": "1.0.2",
6 | "main": "Chart.js",
7 | "repository": {
8 | "type": "git",
9 | "url": "https://github.com/nnnick/Chart.js.git"
10 | },
11 | "dependences": {},
12 | "devDependencies": {
13 | "gulp": "3.5.x",
14 | "gulp-concat": "~2.1.x",
15 | "gulp-connect": "~2.0.5",
16 | "gulp-jshint": "~1.5.1",
17 | "gulp-replace": "^0.4.0",
18 | "gulp-size": "~0.4.0",
19 | "gulp-uglify": "~0.2.x",
20 | "gulp-util": "~2.2.x",
21 | "gulp-html-validator": "^0.0.2",
22 | "inquirer": "^0.5.1",
23 | "semver": "^3.0.1"
24 | },
25 | "spm": {
26 | "main": "Chart.js"
27 | }
28 | }
--------------------------------------------------------------------------------
/www/lib/Chart.js/samples/bar.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Bar Chart
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/www/lib/Chart.js/samples/doughnut.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Doughnut Chart
5 |
6 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
66 |
67 |
68 |
--------------------------------------------------------------------------------
/www/lib/Chart.js/samples/line.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Line Chart
5 |
6 |
7 |
8 |
13 |
14 |
15 |
53 |
54 |
55 |
--------------------------------------------------------------------------------
/www/lib/Chart.js/samples/pie.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Pie Chart
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
57 |
58 |
59 |
--------------------------------------------------------------------------------
/www/lib/Chart.js/samples/polar-area.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Polar Area Chart
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
59 |
60 |
61 |
--------------------------------------------------------------------------------
/www/lib/Chart.js/samples/radar.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Radar Chart
5 |
6 |
7 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
52 |
53 |
54 |
--------------------------------------------------------------------------------
/www/lib/CordovaClipboard/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "CordovaClipboard",
3 | "_cacheHeaders": {
4 | "Content-Type": "text/html; charset=utf-8"
5 | },
6 | "main": "index",
7 | "_source": "https://github.com/VersoSolutions/CordovaClipboard",
8 | "_target": "*",
9 | "_originalSource": "https://github.com/VersoSolutions/CordovaClipboard",
10 | "_direct": true
11 | }
--------------------------------------------------------------------------------
/www/lib/angular-animate/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "angular-animate",
3 | "version": "1.4.3",
4 | "main": "./angular-animate.js",
5 | "ignore": [],
6 | "dependencies": {
7 | "angular": "1.4.3"
8 | },
9 | "homepage": "https://github.com/angular/bower-angular-animate",
10 | "_release": "1.4.3",
11 | "_resolution": {
12 | "type": "version",
13 | "tag": "v1.4.3",
14 | "commit": "4ce2a76359401102d2e0146ccf69e6c060799ff8"
15 | },
16 | "_source": "git://github.com/angular/bower-angular-animate.git",
17 | "_target": "1.4.3",
18 | "_originalSource": "angular-animate"
19 | }
--------------------------------------------------------------------------------
/www/lib/angular-animate/README.md:
--------------------------------------------------------------------------------
1 | # packaged angular-animate
2 |
3 | This repo is for distribution on `npm` and `bower`. The source for this module is in the
4 | [main AngularJS repo](https://github.com/angular/angular.js/tree/master/src/ngAnimate).
5 | Please file issues and pull requests against that repo.
6 |
7 | ## Install
8 |
9 | You can install this package either with `npm` or with `bower`.
10 |
11 | ### npm
12 |
13 | ```shell
14 | npm install angular-animate
15 | ```
16 |
17 | Then add `ngAnimate` as a dependency for your app:
18 |
19 | ```javascript
20 | angular.module('myApp', [require('angular-animate')]);
21 | ```
22 |
23 | ### bower
24 |
25 | ```shell
26 | bower install angular-animate
27 | ```
28 |
29 | Then add a `
33 | ```
34 |
35 | Then add `ngAnimate` as a dependency for your app:
36 |
37 | ```javascript
38 | angular.module('myApp', ['ngAnimate']);
39 | ```
40 |
41 | ## Documentation
42 |
43 | Documentation is available on the
44 | [AngularJS docs site](http://docs.angularjs.org/api/ngAnimate).
45 |
46 | ## License
47 |
48 | The MIT License
49 |
50 | Copyright (c) 2010-2015 Google, Inc. http://angularjs.org
51 |
52 | Permission is hereby granted, free of charge, to any person obtaining a copy
53 | of this software and associated documentation files (the "Software"), to deal
54 | in the Software without restriction, including without limitation the rights
55 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
56 | copies of the Software, and to permit persons to whom the Software is
57 | furnished to do so, subject to the following conditions:
58 |
59 | The above copyright notice and this permission notice shall be included in
60 | all copies or substantial portions of the Software.
61 |
62 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
63 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
64 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
65 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
66 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
67 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
68 | THE SOFTWARE.
69 |
--------------------------------------------------------------------------------
/www/lib/angular-animate/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "angular-animate",
3 | "version": "1.4.3",
4 | "main": "./angular-animate.js",
5 | "ignore": [],
6 | "dependencies": {
7 | "angular": "1.4.3"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/www/lib/angular-animate/index.js:
--------------------------------------------------------------------------------
1 | require('./angular-animate');
2 | module.exports = 'ngAnimate';
3 |
--------------------------------------------------------------------------------
/www/lib/angular-animate/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "angular-animate",
3 | "version": "1.4.3",
4 | "description": "AngularJS module for animations",
5 | "main": "index.js",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | },
9 | "repository": {
10 | "type": "git",
11 | "url": "https://github.com/angular/angular.js.git"
12 | },
13 | "keywords": [
14 | "angular",
15 | "framework",
16 | "browser",
17 | "animation",
18 | "client-side"
19 | ],
20 | "author": "Angular Core Team ",
21 | "license": "MIT",
22 | "bugs": {
23 | "url": "https://github.com/angular/angular.js/issues"
24 | },
25 | "homepage": "http://angularjs.org"
26 | }
27 |
--------------------------------------------------------------------------------
/www/lib/angular-chart.js/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "angular-chart.js",
3 | "version": "0.8.8",
4 | "main": [
5 | "./dist/angular-chart.js",
6 | "./dist/angular-chart.css"
7 | ],
8 | "authors": [
9 | "Jerome Touffe-Blin "
10 | ],
11 | "repository": {
12 | "type": "git",
13 | "url": "git://github.com/jtblin/angular-chart.js.git"
14 | },
15 | "description": "An angular.js wrapper for Chart.js - reactive, responsive, beautiful charts.",
16 | "moduleType": [
17 | "globals"
18 | ],
19 | "keywords": [
20 | "angular",
21 | "angular.js",
22 | "chartjs",
23 | "chart",
24 | "reactive",
25 | "responsive",
26 | "graph",
27 | "bar",
28 | "line",
29 | "area",
30 | "donut"
31 | ],
32 | "license": "BSD",
33 | "ignore": [
34 | "**/.*",
35 | "node_modules",
36 | "bower_components",
37 | "examples",
38 | "test",
39 | "tests"
40 | ],
41 | "dependencies": {
42 | "angular": "1.x",
43 | "Chart.js": "~1.0.1"
44 | },
45 | "devDependencies": {
46 | "Chart.StackedBar.js": "~1.0.1",
47 | "angular-bootstrap": "~0.11.0",
48 | "angular-mocks": "1.x",
49 | "font-awesome": "~4.1.0",
50 | "rainbow": "~1.1.9",
51 | "requirejs": "~2.1.20"
52 | },
53 | "resolutions": {
54 | "Chart.js": "~1.0.1",
55 | "angular": "1.x",
56 | "angular-mocks": "1.3.10"
57 | },
58 | "homepage": "https://github.com/jtblin/angular-chart.js",
59 | "_release": "0.8.8",
60 | "_resolution": {
61 | "type": "version",
62 | "tag": "0.8.8",
63 | "commit": "25739e972b519676fed7e0bd4c9d1ec6b8bb92f0"
64 | },
65 | "_source": "git://github.com/jtblin/angular-chart.js.git",
66 | "_target": "~0.8.8",
67 | "_originalSource": "angular-chart.js",
68 | "_direct": true
69 | }
--------------------------------------------------------------------------------
/www/lib/angular-chart.js/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) Jerome Touffe-Blin ("Author")
2 | All rights reserved.
3 |
4 | The BSD License
5 |
6 | Redistribution and use in source and binary forms, with or without
7 | modification, are permitted provided that the following conditions
8 | are met:
9 |
10 | 1. Redistributions of source code must retain the above copyright
11 | notice, this list of conditions and the following disclaimer.
12 |
13 | 2. Redistributions in binary form must reproduce the above copyright
14 | notice, this list of conditions and the following disclaimer in the
15 | documentation and/or other materials provided with the distribution.
16 |
17 | THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
18 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
20 | PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
21 | BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
24 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
25 | WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
26 | OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
27 | IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--------------------------------------------------------------------------------
/www/lib/angular-chart.js/angular-chart.less:
--------------------------------------------------------------------------------
1 | .chart-legend, .bar-legend, .line-legend, .pie-legend, .radar-legend, .polararea-legend, .doughnut-legend {
2 | list-style-type: none;
3 | margin-top: 5px;
4 | text-align: center;
5 | /* NOTE: Browsers automatically add 40px of padding-left to all lists, so we should offset that, otherwise the legend is off-center */
6 | -webkit-padding-start:0; /* Webkit */
7 | -moz-padding-start:0; /* Mozilla */
8 | padding-left:0; /* IE (handles all cases, really, but we should also include the vendor-specific properties just to be safe) */
9 |
10 | li {
11 | display: inline-block;
12 | white-space: nowrap;
13 | position: relative;
14 | margin-bottom: 4px;
15 | border-radius: 5px;
16 | padding: 2px 8px 2px 28px;
17 | font-size: smaller;
18 | cursor: default;
19 |
20 | span {
21 | display: block;
22 | position: absolute;
23 | left: 0;
24 | top: 0;
25 | width: 20px;
26 | height: 20px;
27 | border-radius: 5px;
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/www/lib/angular-chart.js/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "angular-chart.js",
3 | "version": "0.8.8",
4 | "main": [
5 | "./dist/angular-chart.js",
6 | "./dist/angular-chart.css"
7 | ],
8 | "authors": [
9 | "Jerome Touffe-Blin "
10 | ],
11 | "repository": {
12 | "type": "git",
13 | "url": "git://github.com/jtblin/angular-chart.js.git"
14 | },
15 | "description": "An angular.js wrapper for Chart.js - reactive, responsive, beautiful charts.",
16 | "moduleType": [
17 | "globals"
18 | ],
19 | "keywords": [
20 | "angular",
21 | "angular.js",
22 | "chartjs",
23 | "chart",
24 | "reactive",
25 | "responsive",
26 | "graph",
27 | "bar",
28 | "line",
29 | "area",
30 | "donut"
31 | ],
32 | "license": "BSD",
33 | "ignore": [
34 | "**/.*",
35 | "node_modules",
36 | "bower_components",
37 | "examples",
38 | "test",
39 | "tests"
40 | ],
41 | "dependencies": {
42 | "angular": "1.x",
43 | "Chart.js": "~1.0.1"
44 | },
45 | "devDependencies": {
46 | "Chart.StackedBar.js": "~1.0.1",
47 | "angular-bootstrap": "~0.11.0",
48 | "angular-mocks": "1.x",
49 | "font-awesome": "~4.1.0",
50 | "rainbow": "~1.1.9",
51 | "requirejs": "~2.1.20"
52 | },
53 | "resolutions": {
54 | "Chart.js": "~1.0.1",
55 | "angular": "1.x",
56 | "angular-mocks": "1.3.10"
57 | }
58 | }
59 |
--------------------------------------------------------------------------------
/www/lib/angular-chart.js/dist/angular-chart.css:
--------------------------------------------------------------------------------
1 | .chart-legend,
2 | .bar-legend,
3 | .line-legend,
4 | .pie-legend,
5 | .radar-legend,
6 | .polararea-legend,
7 | .doughnut-legend {
8 | list-style-type: none;
9 | margin-top: 5px;
10 | text-align: center;
11 | /* NOTE: Browsers automatically add 40px of padding-left to all lists, so we should offset that, otherwise the legend is off-center */
12 | -webkit-padding-start: 0;
13 | /* Webkit */
14 | -moz-padding-start: 0;
15 | /* Mozilla */
16 | padding-left: 0;
17 | /* IE (handles all cases, really, but we should also include the vendor-specific properties just to be safe) */
18 | }
19 | .chart-legend li,
20 | .bar-legend li,
21 | .line-legend li,
22 | .pie-legend li,
23 | .radar-legend li,
24 | .polararea-legend li,
25 | .doughnut-legend li {
26 | display: inline-block;
27 | white-space: nowrap;
28 | position: relative;
29 | margin-bottom: 4px;
30 | border-radius: 5px;
31 | padding: 2px 8px 2px 28px;
32 | font-size: smaller;
33 | cursor: default;
34 | }
35 | .chart-legend li span,
36 | .bar-legend li span,
37 | .line-legend li span,
38 | .pie-legend li span,
39 | .radar-legend li span,
40 | .polararea-legend li span,
41 | .doughnut-legend li span {
42 | display: block;
43 | position: absolute;
44 | left: 0;
45 | top: 0;
46 | width: 20px;
47 | height: 20px;
48 | border-radius: 5px;
49 | }
50 |
--------------------------------------------------------------------------------
/www/lib/angular-chart.js/dist/angular-chart.js.tar.gz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/www/lib/angular-chart.js/dist/angular-chart.js.tar.gz
--------------------------------------------------------------------------------
/www/lib/angular-chart.js/dist/angular-chart.min.css:
--------------------------------------------------------------------------------
1 | .chart-legend,.bar-legend,.line-legend,.pie-legend,.radar-legend,.polararea-legend,.doughnut-legend{list-style-type:none;margin-top:5px;text-align:center;-webkit-padding-start:0;-moz-padding-start:0;padding-left:0}.chart-legend li,.bar-legend li,.line-legend li,.pie-legend li,.radar-legend li,.polararea-legend li,.doughnut-legend li{display:inline-block;white-space:nowrap;position:relative;margin-bottom:4px;border-radius:5px;padding:2px 8px 2px 28px;font-size:smaller;cursor:default}.chart-legend li span,.bar-legend li span,.line-legend li span,.pie-legend li span,.radar-legend li span,.polararea-legend li span,.doughnut-legend li span{display:block;position:absolute;left:0;top:0;width:20px;height:20px;border-radius:5px}
2 | /*# sourceMappingURL=angular-chart.min.css.map */
3 |
--------------------------------------------------------------------------------
/www/lib/angular-chart.js/dist/angular-chart.min.css.map:
--------------------------------------------------------------------------------
1 | {"version":3,"names":[],"mappings":"","sources":["angular-chart.css"],"sourcesContent":[".chart-legend,\n.bar-legend,\n.line-legend,\n.pie-legend,\n.radar-legend,\n.polararea-legend,\n.doughnut-legend {\n list-style-type: none;\n margin-top: 5px;\n text-align: center;\n /* NOTE: Browsers automatically add 40px of padding-left to all lists, so we should offset that, otherwise the legend is off-center */\n -webkit-padding-start: 0;\n /* Webkit */\n -moz-padding-start: 0;\n /* Mozilla */\n padding-left: 0;\n /* IE (handles all cases, really, but we should also include the vendor-specific properties just to be safe) */\n}\n.chart-legend li,\n.bar-legend li,\n.line-legend li,\n.pie-legend li,\n.radar-legend li,\n.polararea-legend li,\n.doughnut-legend li {\n display: inline-block;\n white-space: nowrap;\n position: relative;\n margin-bottom: 4px;\n border-radius: 5px;\n padding: 2px 8px 2px 28px;\n font-size: smaller;\n cursor: default;\n}\n.chart-legend li span,\n.bar-legend li span,\n.line-legend li span,\n.pie-legend li span,\n.radar-legend li span,\n.polararea-legend li span,\n.doughnut-legend li span {\n display: block;\n position: absolute;\n left: 0;\n top: 0;\n width: 20px;\n height: 20px;\n border-radius: 5px;\n}\n"],"file":"angular-chart.min.css","sourceRoot":"/source/"}
--------------------------------------------------------------------------------
/www/lib/angular-chart.js/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "angular-chart.js",
3 | "version": "0.8.8",
4 | "description": "An angular.js wrapper for Chart.js",
5 | "main": "dist/angular-chart.js",
6 | "directories": {
7 | "example": "examples"
8 | },
9 | "scripts": {
10 | "test": "gulp check"
11 | },
12 | "author": "Jerome Touffe-Blin ",
13 | "repository": {
14 | "type": "git",
15 | "url": "git://github.com/jtblin/angular-chart.js.git"
16 | },
17 | "license": "BSD-2-Clause",
18 | "devDependencies": {
19 | "chai": "^3.4.1",
20 | "chai-string": "^1.1.1",
21 | "codeclimate-test-reporter": "^0.1.0",
22 | "cp": "^0.2.0",
23 | "gm": "^1.17.0",
24 | "gulp": "^3.9.0",
25 | "gulp-bump": "^1.0.0",
26 | "gulp-csso": "^1.0.1",
27 | "gulp-git": "^1.6.0",
28 | "gulp-gzip": "^1.2.0",
29 | "gulp-istanbul": "^0.10.3",
30 | "gulp-istanbul-report": "^0.0.1",
31 | "gulp-jscs": "^3.0.2",
32 | "gulp-jshint": "^1.9.2",
33 | "gulp-less": "^3.0.3",
34 | "gulp-mocha-phantomjs": "^0.10.1",
35 | "gulp-ng-annotate": "^1.1.0",
36 | "gulp-rename": "^1.2.0",
37 | "gulp-rimraf": "^0.2.0",
38 | "gulp-sequence": "^0.4.1",
39 | "gulp-shell": "^0.5.1",
40 | "gulp-sourcemaps": "^1.0.0",
41 | "gulp-spawn-mocha": "^2.0.1",
42 | "gulp-tar": "^1.5.0",
43 | "gulp-uglify": "^1.4.2",
44 | "imgur-node-api": "^0.1.0",
45 | "jshint-stylish": "^2.0.1",
46 | "mkdirp": "^0.5.0",
47 | "mocha": "^2.1.0",
48 | "mocha-phantomjs-istanbul": "^0.0.2",
49 | "sinon": "^1.12.2",
50 | "sinon-chai": "^2.7.0",
51 | "testatic": "^0.1.0",
52 | "tmp-sync": "^1.1.0",
53 | "webpack": "^1.12.0",
54 | "webshot": "^0.16.0"
55 | },
56 | "dependencies": {
57 | "angular": "^1.4.5",
58 | "chart.js": "^1.0.2"
59 | }
60 | }
61 |
--------------------------------------------------------------------------------
/www/lib/angular-sanitize/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "angular-sanitize",
3 | "version": "1.4.3",
4 | "main": "./angular-sanitize.js",
5 | "ignore": [],
6 | "dependencies": {
7 | "angular": "1.4.3"
8 | },
9 | "homepage": "https://github.com/angular/bower-angular-sanitize",
10 | "_release": "1.4.3",
11 | "_resolution": {
12 | "type": "version",
13 | "tag": "v1.4.3",
14 | "commit": "0367ee4c3f9cb8af5d1da9ec35b71a8b523d9fc0"
15 | },
16 | "_source": "git://github.com/angular/bower-angular-sanitize.git",
17 | "_target": "1.4.3",
18 | "_originalSource": "angular-sanitize"
19 | }
--------------------------------------------------------------------------------
/www/lib/angular-sanitize/README.md:
--------------------------------------------------------------------------------
1 | # packaged angular-sanitize
2 |
3 | This repo is for distribution on `npm` and `bower`. The source for this module is in the
4 | [main AngularJS repo](https://github.com/angular/angular.js/tree/master/src/ngSanitize).
5 | Please file issues and pull requests against that repo.
6 |
7 | ## Install
8 |
9 | You can install this package either with `npm` or with `bower`.
10 |
11 | ### npm
12 |
13 | ```shell
14 | npm install angular-sanitize
15 | ```
16 |
17 | Then add `ngSanitize` as a dependency for your app:
18 |
19 | ```javascript
20 | angular.module('myApp', [require('angular-sanitize')]);
21 | ```
22 |
23 | ### bower
24 |
25 | ```shell
26 | bower install angular-sanitize
27 | ```
28 |
29 | Add a `
33 | ```
34 |
35 | Then add `ngSanitize` as a dependency for your app:
36 |
37 | ```javascript
38 | angular.module('myApp', ['ngSanitize']);
39 | ```
40 |
41 | ## Documentation
42 |
43 | Documentation is available on the
44 | [AngularJS docs site](http://docs.angularjs.org/api/ngSanitize).
45 |
46 | ## License
47 |
48 | The MIT License
49 |
50 | Copyright (c) 2010-2015 Google, Inc. http://angularjs.org
51 |
52 | Permission is hereby granted, free of charge, to any person obtaining a copy
53 | of this software and associated documentation files (the "Software"), to deal
54 | in the Software without restriction, including without limitation the rights
55 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
56 | copies of the Software, and to permit persons to whom the Software is
57 | furnished to do so, subject to the following conditions:
58 |
59 | The above copyright notice and this permission notice shall be included in
60 | all copies or substantial portions of the Software.
61 |
62 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
63 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
64 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
65 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
66 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
67 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
68 | THE SOFTWARE.
69 |
--------------------------------------------------------------------------------
/www/lib/angular-sanitize/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "angular-sanitize",
3 | "version": "1.4.3",
4 | "main": "./angular-sanitize.js",
5 | "ignore": [],
6 | "dependencies": {
7 | "angular": "1.4.3"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/www/lib/angular-sanitize/index.js:
--------------------------------------------------------------------------------
1 | require('./angular-sanitize');
2 | module.exports = 'ngSanitize';
3 |
--------------------------------------------------------------------------------
/www/lib/angular-sanitize/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "angular-sanitize",
3 | "version": "1.4.3",
4 | "description": "AngularJS module for sanitizing HTML",
5 | "main": "index.js",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | },
9 | "repository": {
10 | "type": "git",
11 | "url": "https://github.com/angular/angular.js.git"
12 | },
13 | "keywords": [
14 | "angular",
15 | "framework",
16 | "browser",
17 | "html",
18 | "client-side"
19 | ],
20 | "author": "Angular Core Team ",
21 | "license": "MIT",
22 | "bugs": {
23 | "url": "https://github.com/angular/angular.js/issues"
24 | },
25 | "homepage": "http://angularjs.org"
26 | }
27 |
--------------------------------------------------------------------------------
/www/lib/angular-ui-router/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "angular-ui-router",
3 | "version": "0.2.13",
4 | "main": "./release/angular-ui-router.js",
5 | "dependencies": {
6 | "angular": ">= 1.0.8"
7 | },
8 | "ignore": [
9 | "**/.*",
10 | "node_modules",
11 | "bower_components",
12 | "component.json",
13 | "package.json",
14 | "lib",
15 | "config",
16 | "sample",
17 | "test",
18 | "tests",
19 | "ngdoc_assets",
20 | "Gruntfile.js",
21 | "files.js"
22 | ],
23 | "homepage": "https://github.com/angular-ui/ui-router",
24 | "_release": "0.2.13",
25 | "_resolution": {
26 | "type": "version",
27 | "tag": "0.2.13",
28 | "commit": "c3d543aae43d4600512520a0d70723ac31f2cb62"
29 | },
30 | "_source": "git://github.com/angular-ui/ui-router.git",
31 | "_target": "0.2.13",
32 | "_originalSource": "angular-ui-router"
33 | }
--------------------------------------------------------------------------------
/www/lib/angular-ui-router/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License
2 |
3 | Copyright (c) 2014 The AngularUI Team, Karsten Sperling
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in
13 | all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | THE SOFTWARE.
22 |
--------------------------------------------------------------------------------
/www/lib/angular-ui-router/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "angular-ui-router",
3 | "version": "0.2.13",
4 | "main": "./release/angular-ui-router.js",
5 | "dependencies": {
6 | "angular": ">= 1.0.8"
7 | },
8 | "ignore": [
9 | "**/.*",
10 | "node_modules",
11 | "bower_components",
12 | "component.json",
13 | "package.json",
14 | "lib",
15 | "config",
16 | "sample",
17 | "test",
18 | "tests",
19 | "ngdoc_assets",
20 | "Gruntfile.js",
21 | "files.js"
22 | ]
23 | }
24 |
--------------------------------------------------------------------------------
/www/lib/angular-ui-router/src/stateFilters.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @ngdoc filter
3 | * @name ui.router.state.filter:isState
4 | *
5 | * @requires ui.router.state.$state
6 | *
7 | * @description
8 | * Translates to {@link ui.router.state.$state#methods_is $state.is("stateName")}.
9 | */
10 | $IsStateFilter.$inject = ['$state'];
11 | function $IsStateFilter($state) {
12 | var isFilter = function (state) {
13 | return $state.is(state);
14 | };
15 | isFilter.$stateful = true;
16 | return isFilter;
17 | }
18 |
19 | /**
20 | * @ngdoc filter
21 | * @name ui.router.state.filter:includedByState
22 | *
23 | * @requires ui.router.state.$state
24 | *
25 | * @description
26 | * Translates to {@link ui.router.state.$state#methods_includes $state.includes('fullOrPartialStateName')}.
27 | */
28 | $IncludedByStateFilter.$inject = ['$state'];
29 | function $IncludedByStateFilter($state) {
30 | var includesFilter = function (state) {
31 | return $state.includes(state);
32 | };
33 | includesFilter.$stateful = true;
34 | return includesFilter;
35 | }
36 |
37 | angular.module('ui.router.state')
38 | .filter('isState', $IsStateFilter)
39 | .filter('includedByState', $IncludedByStateFilter);
40 |
--------------------------------------------------------------------------------
/www/lib/angular-ui-router/src/view.js:
--------------------------------------------------------------------------------
1 |
2 | $ViewProvider.$inject = [];
3 | function $ViewProvider() {
4 |
5 | this.$get = $get;
6 | /**
7 | * @ngdoc object
8 | * @name ui.router.state.$view
9 | *
10 | * @requires ui.router.util.$templateFactory
11 | * @requires $rootScope
12 | *
13 | * @description
14 | *
15 | */
16 | $get.$inject = ['$rootScope', '$templateFactory'];
17 | function $get( $rootScope, $templateFactory) {
18 | return {
19 | // $view.load('full.viewName', { template: ..., controller: ..., resolve: ..., async: false, params: ... })
20 | /**
21 | * @ngdoc function
22 | * @name ui.router.state.$view#load
23 | * @methodOf ui.router.state.$view
24 | *
25 | * @description
26 | *
27 | * @param {string} name name
28 | * @param {object} options option object.
29 | */
30 | load: function load(name, options) {
31 | var result, defaults = {
32 | template: null, controller: null, view: null, locals: null, notify: true, async: true, params: {}
33 | };
34 | options = extend(defaults, options);
35 |
36 | if (options.view) {
37 | result = $templateFactory.fromConfig(options.view, options.params, options.locals);
38 | }
39 | if (result && options.notify) {
40 | /**
41 | * @ngdoc event
42 | * @name ui.router.state.$state#$viewContentLoading
43 | * @eventOf ui.router.state.$view
44 | * @eventType broadcast on root scope
45 | * @description
46 | *
47 | * Fired once the view **begins loading**, *before* the DOM is rendered.
48 | *
49 | * @param {Object} event Event object.
50 | * @param {Object} viewConfig The view config properties (template, controller, etc).
51 | *
52 | * @example
53 | *
54 | *
55 | * $scope.$on('$viewContentLoading',
56 | * function(event, viewConfig){
57 | * // Access to all the view config properties.
58 | * // and one special property 'targetView'
59 | * // viewConfig.targetView
60 | * });
61 | *
62 | */
63 | $rootScope.$broadcast('$viewContentLoading', options);
64 | }
65 | return result;
66 | }
67 | };
68 | }
69 | }
70 |
71 | angular.module('ui.router.state').provider('$view', $ViewProvider);
72 |
--------------------------------------------------------------------------------
/www/lib/angular-ui-router/src/viewScroll.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @ngdoc object
3 | * @name ui.router.state.$uiViewScrollProvider
4 | *
5 | * @description
6 | * Provider that returns the {@link ui.router.state.$uiViewScroll} service function.
7 | */
8 | function $ViewScrollProvider() {
9 |
10 | var useAnchorScroll = false;
11 |
12 | /**
13 | * @ngdoc function
14 | * @name ui.router.state.$uiViewScrollProvider#useAnchorScroll
15 | * @methodOf ui.router.state.$uiViewScrollProvider
16 | *
17 | * @description
18 | * Reverts back to using the core [`$anchorScroll`](http://docs.angularjs.org/api/ng.$anchorScroll) service for
19 | * scrolling based on the url anchor.
20 | */
21 | this.useAnchorScroll = function () {
22 | useAnchorScroll = true;
23 | };
24 |
25 | /**
26 | * @ngdoc object
27 | * @name ui.router.state.$uiViewScroll
28 | *
29 | * @requires $anchorScroll
30 | * @requires $timeout
31 | *
32 | * @description
33 | * When called with a jqLite element, it scrolls the element into view (after a
34 | * `$timeout` so the DOM has time to refresh).
35 | *
36 | * If you prefer to rely on `$anchorScroll` to scroll the view to the anchor,
37 | * this can be enabled by calling {@link ui.router.state.$uiViewScrollProvider#methods_useAnchorScroll `$uiViewScrollProvider.useAnchorScroll()`}.
38 | */
39 | this.$get = ['$anchorScroll', '$timeout', function ($anchorScroll, $timeout) {
40 | if (useAnchorScroll) {
41 | return $anchorScroll;
42 | }
43 |
44 | return function ($element) {
45 | $timeout(function () {
46 | $element[0].scrollIntoView();
47 | }, 0, false);
48 | };
49 | }];
50 | }
51 |
52 | angular.module('ui.router.state').provider('$uiViewScroll', $ViewScrollProvider);
53 |
--------------------------------------------------------------------------------
/www/lib/angular/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "angular",
3 | "version": "1.4.3",
4 | "main": "./angular.js",
5 | "ignore": [],
6 | "dependencies": {},
7 | "homepage": "https://github.com/angular/bower-angular",
8 | "_release": "1.4.3",
9 | "_resolution": {
10 | "type": "version",
11 | "tag": "v1.4.3",
12 | "commit": "dbd689e8103a6366e53e1f6786727f7c65ccfd75"
13 | },
14 | "_source": "git://github.com/angular/bower-angular.git",
15 | "_target": "1.4.3",
16 | "_originalSource": "angular"
17 | }
--------------------------------------------------------------------------------
/www/lib/angular/README.md:
--------------------------------------------------------------------------------
1 | # packaged angular
2 |
3 | This repo is for distribution on `npm` and `bower`. The source for this module is in the
4 | [main AngularJS repo](https://github.com/angular/angular.js).
5 | Please file issues and pull requests against that repo.
6 |
7 | ## Install
8 |
9 | You can install this package either with `npm` or with `bower`.
10 |
11 | ### npm
12 |
13 | ```shell
14 | npm install angular
15 | ```
16 |
17 | Then add a `
21 | ```
22 |
23 | Or `require('angular')` from your code.
24 |
25 | ### bower
26 |
27 | ```shell
28 | bower install angular
29 | ```
30 |
31 | Then add a `
35 | ```
36 |
37 | ## Documentation
38 |
39 | Documentation is available on the
40 | [AngularJS docs site](http://docs.angularjs.org/).
41 |
42 | ## License
43 |
44 | The MIT License
45 |
46 | Copyright (c) 2010-2015 Google, Inc. http://angularjs.org
47 |
48 | Permission is hereby granted, free of charge, to any person obtaining a copy
49 | of this software and associated documentation files (the "Software"), to deal
50 | in the Software without restriction, including without limitation the rights
51 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
52 | copies of the Software, and to permit persons to whom the Software is
53 | furnished to do so, subject to the following conditions:
54 |
55 | The above copyright notice and this permission notice shall be included in
56 | all copies or substantial portions of the Software.
57 |
58 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
59 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
60 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
61 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
62 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
63 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
64 | THE SOFTWARE.
65 |
--------------------------------------------------------------------------------
/www/lib/angular/angular-csp.css:
--------------------------------------------------------------------------------
1 | /* Include this file in your html if you are using the CSP mode. */
2 |
3 | @charset "UTF-8";
4 |
5 | [ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak],
6 | .ng-cloak, .x-ng-cloak,
7 | .ng-hide:not(.ng-hide-animate) {
8 | display: none !important;
9 | }
10 |
11 | ng\:form {
12 | display: block;
13 | }
14 |
15 | .ng-animate-shim {
16 | visibility:hidden;
17 | }
18 |
19 | .ng-anchor {
20 | position:absolute;
21 | }
22 |
--------------------------------------------------------------------------------
/www/lib/angular/angular.min.js.gzip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/www/lib/angular/angular.min.js.gzip
--------------------------------------------------------------------------------
/www/lib/angular/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "angular",
3 | "version": "1.4.3",
4 | "main": "./angular.js",
5 | "ignore": [],
6 | "dependencies": {
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/www/lib/angular/index.js:
--------------------------------------------------------------------------------
1 | require('./angular');
2 | module.exports = angular;
3 |
--------------------------------------------------------------------------------
/www/lib/angular/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "angular",
3 | "version": "1.4.3",
4 | "description": "HTML enhanced for web apps",
5 | "main": "index.js",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | },
9 | "repository": {
10 | "type": "git",
11 | "url": "https://github.com/angular/angular.js.git"
12 | },
13 | "keywords": [
14 | "angular",
15 | "framework",
16 | "browser",
17 | "client-side"
18 | ],
19 | "author": "Angular Core Team ",
20 | "license": "MIT",
21 | "bugs": {
22 | "url": "https://github.com/angular/angular.js/issues"
23 | },
24 | "homepage": "http://angularjs.org"
25 | }
26 |
--------------------------------------------------------------------------------
/www/lib/ionic/fonts/ionicons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/www/lib/ionic/fonts/ionicons.eot
--------------------------------------------------------------------------------
/www/lib/ionic/fonts/ionicons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/www/lib/ionic/fonts/ionicons.ttf
--------------------------------------------------------------------------------
/www/lib/ionic/fonts/ionicons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/www/lib/ionic/fonts/ionicons.woff
--------------------------------------------------------------------------------
/www/lib/ionic/scss/_animations.scss:
--------------------------------------------------------------------------------
1 |
2 | // Slide up from the bottom, used for modals
3 | // -------------------------------
4 |
5 | .slide-in-up {
6 | @include translate3d(0, 100%, 0);
7 | }
8 | .slide-in-up.ng-enter,
9 | .slide-in-up > .ng-enter {
10 | @include transition(all cubic-bezier(.1, .7, .1, 1) 400ms);
11 | }
12 | .slide-in-up.ng-enter-active,
13 | .slide-in-up > .ng-enter-active {
14 | @include translate3d(0, 0, 0);
15 | }
16 |
17 | .slide-in-up.ng-leave,
18 | .slide-in-up > .ng-leave {
19 | @include transition(all ease-in-out 250ms);
20 | }
21 |
22 |
23 | // Scale Out
24 | // Scale from hero (1 in this case) to zero
25 | // -------------------------------
26 |
27 | @-webkit-keyframes scaleOut {
28 | from { -webkit-transform: scale(1); opacity: 1; }
29 | to { -webkit-transform: scale(0.8); opacity: 0; }
30 | }
31 | @keyframes scaleOut {
32 | from { transform: scale(1); opacity: 1; }
33 | to { transform: scale(0.8); opacity: 0; }
34 | }
35 |
36 |
37 | // Super Scale In
38 | // Scale from super (1.x) to duper (1 in this case)
39 | // -------------------------------
40 |
41 | @-webkit-keyframes superScaleIn {
42 | from { -webkit-transform: scale(1.2); opacity: 0; }
43 | to { -webkit-transform: scale(1); opacity: 1 }
44 | }
45 | @keyframes superScaleIn {
46 | from { transform: scale(1.2); opacity: 0; }
47 | to { transform: scale(1); opacity: 1; }
48 | }
49 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/_backdrop.scss:
--------------------------------------------------------------------------------
1 |
2 | .backdrop {
3 | position: fixed;
4 | top: 0;
5 | left: 0;
6 | z-index: $z-index-backdrop;
7 |
8 | width: 100%;
9 | height: 100%;
10 |
11 | background-color: $loading-backdrop-bg-color;
12 |
13 | visibility: hidden;
14 | opacity: 0;
15 |
16 | &.visible {
17 | visibility: visible;
18 | }
19 | &.active {
20 | opacity: 1;
21 | }
22 |
23 | @include transition($loading-backdrop-fadein-duration opacity linear);
24 | }
25 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/_badge.scss:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Badges
4 | * --------------------------------------------------
5 | */
6 |
7 | .badge {
8 | @include badge-style($badge-default-bg, $badge-default-text);
9 | z-index: $z-index-badge;
10 | display: inline-block;
11 | padding: 3px 8px;
12 | min-width: 10px;
13 | border-radius: $badge-border-radius;
14 | vertical-align: baseline;
15 | text-align: center;
16 | white-space: nowrap;
17 | font-weight: $badge-font-weight;
18 | font-size: $badge-font-size;
19 | line-height: $badge-line-height;
20 |
21 | &:empty {
22 | display: none;
23 | }
24 | }
25 |
26 | //Be sure to override specificity of rule that 'badge color matches tab color by default'
27 | .tabs .tab-item .badge,
28 | .badge {
29 | &.badge-light {
30 | @include badge-style($badge-light-bg, $badge-light-text);
31 | }
32 | &.badge-stable {
33 | @include badge-style($badge-stable-bg, $badge-stable-text);
34 | }
35 | &.badge-positive {
36 | @include badge-style($badge-positive-bg, $badge-positive-text);
37 | }
38 | &.badge-calm {
39 | @include badge-style($badge-calm-bg, $badge-calm-text);
40 | }
41 | &.badge-assertive {
42 | @include badge-style($badge-assertive-bg, $badge-assertive-text);
43 | }
44 | &.badge-balanced {
45 | @include badge-style($badge-balanced-bg, $badge-balanced-text);
46 | }
47 | &.badge-energized {
48 | @include badge-style($badge-energized-bg, $badge-energized-text);
49 | }
50 | &.badge-royal {
51 | @include badge-style($badge-royal-bg, $badge-royal-text);
52 | }
53 | &.badge-dark {
54 | @include badge-style($badge-dark-bg, $badge-dark-text);
55 | }
56 | }
57 |
58 | // Quick fix for labels/badges in buttons
59 | .button .badge {
60 | position: relative;
61 | top: -1px;
62 | }
63 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/_button-bar.scss:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Button Bar
4 | * --------------------------------------------------
5 | */
6 |
7 | .button-bar {
8 | @include display-flex();
9 | @include flex(1);
10 | width: 100%;
11 |
12 | &.button-bar-inline {
13 | display: block;
14 | width: auto;
15 |
16 | @include clearfix();
17 |
18 | > .button {
19 | width: auto;
20 | display: inline-block;
21 | float: left;
22 | }
23 | }
24 | }
25 |
26 | .button-bar > .button {
27 | @include flex(1);
28 | display: block;
29 |
30 | overflow: hidden;
31 |
32 | padding: 0 16px;
33 |
34 | width: 0;
35 |
36 | border-width: 1px 0px 1px 1px;
37 | border-radius: 0;
38 | text-align: center;
39 | text-overflow: ellipsis;
40 | white-space: nowrap;
41 |
42 | &:before,
43 | .icon:before {
44 | line-height: 44px;
45 | }
46 |
47 | &:first-child {
48 | border-radius: $button-border-radius 0px 0px $button-border-radius;
49 | }
50 | &:last-child {
51 | border-right-width: 1px;
52 | border-radius: 0px $button-border-radius $button-border-radius 0px;
53 | }
54 | &:only-child {
55 | border-radius: $button-border-radius;
56 | }
57 | }
58 |
59 | .button-bar > .button-small {
60 | &:before,
61 | .icon:before {
62 | line-height: 28px;
63 | }
64 | }
65 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/_loading.scss:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Loading
4 | * --------------------------------------------------
5 | */
6 |
7 | .loading-container {
8 | position: absolute;
9 | left: 0;
10 | top: 0;
11 | right: 0;
12 | bottom: 0;
13 |
14 | z-index: $z-index-loading;
15 |
16 | @include display-flex();
17 | @include justify-content(center);
18 | @include align-items(center);
19 |
20 | @include transition(0.2s opacity linear);
21 | visibility: hidden;
22 | opacity: 0;
23 |
24 | &:not(.visible) .icon,
25 | &:not(.visible) .spinner{
26 | display: none;
27 | }
28 | &.visible {
29 | visibility: visible;
30 | }
31 | &.active {
32 | opacity: 1;
33 | }
34 |
35 | .loading {
36 | padding: $loading-padding;
37 |
38 | border-radius: $loading-border-radius;
39 | background-color: $loading-bg-color;
40 |
41 | color: $loading-text-color;
42 |
43 | text-align: center;
44 | text-overflow: ellipsis;
45 | font-size: $loading-font-size;
46 |
47 | h1, h2, h3, h4, h5, h6 {
48 | color: $loading-text-color;
49 | }
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/_menu.scss:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Menus
4 | * --------------------------------------------------
5 | * Side panel structure
6 | */
7 |
8 | .menu {
9 | position: absolute;
10 | top: 0;
11 | bottom: 0;
12 | z-index: $z-index-menu;
13 | overflow: hidden;
14 |
15 | min-height: 100%;
16 | max-height: 100%;
17 | width: $menu-width;
18 |
19 | background-color: $menu-bg;
20 |
21 | .scroll-content {
22 | z-index: $z-index-menu-scroll-content;
23 | }
24 |
25 | .bar-header {
26 | z-index: $z-index-menu-bar-header;
27 | }
28 | }
29 |
30 | .menu-content {
31 | @include transform(none);
32 | box-shadow: $menu-side-shadow;
33 | }
34 |
35 | .menu-open .menu-content .pane,
36 | .menu-open .menu-content .scroll-content {
37 | pointer-events: none;
38 | }
39 | .menu-open .menu-content .scroll-content .scroll {
40 | pointer-events: none;
41 | }
42 | .menu-open .menu-content .scroll-content:not(.overflow-scroll) {
43 | overflow: hidden;
44 | }
45 |
46 | .grade-b .menu-content,
47 | .grade-c .menu-content {
48 | @include box-sizing(content-box);
49 | right: -1px;
50 | left: -1px;
51 | border-right: 1px solid #ccc;
52 | border-left: 1px solid #ccc;
53 | box-shadow: none;
54 | }
55 |
56 | .menu-left {
57 | left: 0;
58 | }
59 |
60 | .menu-right {
61 | right: 0;
62 | }
63 |
64 | .aside-open.aside-resizing .menu-right {
65 | display: none;
66 | }
67 |
68 | .menu-animated {
69 | @include transition-transform($menu-animation-speed ease);
70 | }
71 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/_platform.scss:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Platform
4 | * --------------------------------------------------
5 | * Platform specific tweaks
6 | */
7 |
8 | .platform-ios.platform-cordova {
9 | // iOS has a status bar which sits on top of the header.
10 | // Bump down everything to make room for it. However, if
11 | // if its in Cordova, and set to fullscreen, then disregard the bump.
12 | &:not(.fullscreen) {
13 | .bar-header:not(.bar-subheader) {
14 | height: $bar-height + $ios-statusbar-height;
15 |
16 | &.item-input-inset .item-input-wrapper {
17 | margin-top: 19px !important;
18 | }
19 |
20 | > * {
21 | margin-top: $ios-statusbar-height;
22 | }
23 | }
24 | .tabs-top > .tabs,
25 | .tabs.tabs-top {
26 | top: $bar-height + $ios-statusbar-height;
27 | }
28 |
29 | .has-header,
30 | .bar-subheader {
31 | top: $bar-height + $ios-statusbar-height;
32 | }
33 | .has-subheader {
34 | top: $bar-height + $bar-subheader-height + $ios-statusbar-height;
35 | }
36 | .has-header.has-tabs-top {
37 | top: $bar-height + $tabs-height + $ios-statusbar-height;
38 | }
39 | .has-header.has-subheader.has-tabs-top {
40 | top: $bar-height + $bar-subheader-height + $tabs-height + $ios-statusbar-height;
41 | }
42 | }
43 | .popover{
44 | .bar-header:not(.bar-subheader) {
45 | height: $bar-height;
46 | &.item-input-inset .item-input-wrapper {
47 | margin-top: -1px;
48 | }
49 | > * {
50 | margin-top: 0;
51 | }
52 | }
53 | .has-header,
54 | .bar-subheader {
55 | top: $bar-height;
56 | }
57 | .has-subheader {
58 | top: $bar-height + $bar-subheader-height;
59 | }
60 | }
61 | &.status-bar-hide {
62 | // Cordova doesn't adjust the body height correctly, this makes up for it
63 | margin-bottom: 20px;
64 | }
65 | }
66 |
67 | @media (orientation:landscape) {
68 | .platform-ios.platform-browser.platform-ipad {
69 | position: fixed; // required for iPad 7 Safari
70 | }
71 | }
72 |
73 | .platform-c:not(.enable-transitions) * {
74 | // disable transitions on grade-c devices (Android 2)
75 | -webkit-transition: none !important;
76 | transition: none !important;
77 | }
78 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/_progress.scss:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Progress
4 | * --------------------------------------------------
5 | */
6 |
7 | progress {
8 | display: block;
9 | margin: $progress-margin;
10 | width: $progress-width;
11 | }
12 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/_radio.scss:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Radio Button Inputs
4 | * --------------------------------------------------
5 | */
6 |
7 | .item-radio {
8 | padding: 0;
9 |
10 | &:hover {
11 | cursor: pointer;
12 | }
13 | }
14 |
15 | .item-radio .item-content {
16 | /* give some room to the right for the checkmark icon */
17 | padding-right: $item-padding * 4;
18 | }
19 |
20 | .item-radio .radio-icon {
21 | /* checkmark icon will be hidden by default */
22 | position: absolute;
23 | top: 0;
24 | right: 0;
25 | z-index: $z-index-item-radio;
26 | visibility: hidden;
27 | padding: $item-padding - 2;
28 | height: 100%;
29 | font-size: 24px;
30 | }
31 |
32 | .item-radio input {
33 | /* hide any radio button inputs elements (the ugly circles) */
34 | position: absolute;
35 | left: -9999px;
36 |
37 | &:checked + .radio-content .item-content {
38 | /* style the item content when its checked */
39 | background: #f7f7f7;
40 | }
41 |
42 | &:checked + .radio-content .radio-icon {
43 | /* show the checkmark icon when its checked */
44 | visibility: visible;
45 | }
46 | }
47 |
48 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/_slide-box.scss:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Slide Box
4 | * --------------------------------------------------
5 | */
6 |
7 | .slider {
8 | position: relative;
9 | visibility: hidden;
10 | // Make sure items don't scroll over ever
11 | overflow: hidden;
12 | }
13 |
14 | .slider-slides {
15 | position: relative;
16 | height: 100%;
17 | }
18 |
19 | .slider-slide {
20 | position: relative;
21 | display: block;
22 | float: left;
23 | width: 100%;
24 | height: 100%;
25 | vertical-align: top;
26 | }
27 |
28 | .slider-slide-image {
29 | > img {
30 | width: 100%;
31 | }
32 | }
33 |
34 | .slider-pager {
35 | position: absolute;
36 | bottom: 20px;
37 | z-index: $z-index-slider-pager;
38 | width: 100%;
39 | height: 15px;
40 | text-align: center;
41 |
42 | .slider-pager-page {
43 | display: inline-block;
44 | margin: 0px 3px;
45 | width: 15px;
46 | color: #000;
47 | text-decoration: none;
48 |
49 | opacity: 0.3;
50 |
51 | &.active {
52 | @include transition(opacity 0.4s ease-in);
53 | opacity: 1;
54 | }
55 | }
56 | }
57 |
58 | //Disable animate service animations
59 | .slider-slide,
60 | .slider-pager-page {
61 | &.ng-enter,
62 | &.ng-leave,
63 | &.ng-animate {
64 | -webkit-transition: none !important;
65 | transition: none !important;
66 | }
67 | &.ng-animate {
68 | -webkit-animation: none 0s;
69 | animation: none 0s;
70 | }
71 | }
72 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/ionic.scss:
--------------------------------------------------------------------------------
1 | @charset "UTF-8";
2 |
3 | @import
4 | // Ionicons
5 | "ionicons/ionicons.scss",
6 |
7 | // Variables
8 | "mixins",
9 | "variables",
10 |
11 | // Base
12 | "reset",
13 | "scaffolding",
14 | "type",
15 |
16 | // Components
17 | "action-sheet",
18 | "backdrop",
19 | "bar",
20 | "tabs",
21 | "menu",
22 | "modal",
23 | "popover",
24 | "popup",
25 | "loading",
26 | "items",
27 | "list",
28 | "badge",
29 | "slide-box",
30 | "slides",
31 | "refresher",
32 | "spinner",
33 |
34 | // Forms
35 | "form",
36 | "checkbox",
37 | "toggle",
38 | "radio",
39 | "range",
40 | "select",
41 | "progress",
42 |
43 | // Buttons
44 | "button",
45 | "button-bar",
46 |
47 | // Util
48 | "grid",
49 | "util",
50 | "platform",
51 |
52 | // Animations
53 | "animations",
54 | "transitions";
55 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/ionicons/_ionicons-font.scss:
--------------------------------------------------------------------------------
1 | // Ionicons Font Path
2 | // --------------------------
3 |
4 | @font-face {
5 | font-family: $ionicons-font-family;
6 | src:url("#{$ionicons-font-path}/ionicons.eot?v=#{$ionicons-version}");
7 | src:url("#{$ionicons-font-path}/ionicons.eot?v=#{$ionicons-version}#iefix") format("embedded-opentype"),
8 | url("#{$ionicons-font-path}/ionicons.ttf?v=#{$ionicons-version}") format("truetype"),
9 | url("#{$ionicons-font-path}/ionicons.woff?v=#{$ionicons-version}") format("woff"),
10 | url("#{$ionicons-font-path}/ionicons.woff") format("woff"), /* for WP8 */
11 | url("#{$ionicons-font-path}/ionicons.svg?v=#{$ionicons-version}#Ionicons") format("svg");
12 | font-weight: normal;
13 | font-style: normal;
14 | }
15 |
16 | .ion {
17 | display: inline-block;
18 | font-family: $ionicons-font-family;
19 | speak: none;
20 | font-style: normal;
21 | font-weight: normal;
22 | font-variant: normal;
23 | text-transform: none;
24 | text-rendering: auto;
25 | line-height: 1;
26 | -webkit-font-smoothing: antialiased;
27 | -moz-osx-font-smoothing: grayscale;
28 | }
29 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/ionicons/ionicons.scss:
--------------------------------------------------------------------------------
1 | @charset "UTF-8";
2 | @import "ionicons-variables";
3 | /*!
4 | Ionicons, v2.0.1
5 | Created by Ben Sperry for the Ionic Framework, http://ionicons.com/
6 | https://twitter.com/benjsperry https://twitter.com/ionicframework
7 | MIT License: https://github.com/driftyco/ionicons
8 |
9 | Android-style icons originally built by Google’s
10 | Material Design Icons: https://github.com/google/material-design-icons
11 | used under CC BY http://creativecommons.org/licenses/by/4.0/
12 | Modified icons to fit ionicon’s grid from original.
13 | */
14 |
15 | @import "ionicons-font";
16 | @import "ionicons-icons";
17 |
--------------------------------------------------------------------------------
/www/lib/ionic/version.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "1.2.4",
3 | "codename": "",
4 | "date": "2016-01-03",
5 | "time": "19:55:51"
6 | }
7 |
--------------------------------------------------------------------------------
/www/lib/ngCordova/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "ngCordova",
3 | "version": "0.1.24-alpha",
4 | "homepage": "http://ngCordova.com/",
5 | "authors": [
6 | "Max Lynch ",
7 | "Paolo Bernasconi ",
8 | "Chad Campbell "
9 | ],
10 | "description": "AngularJS Cordova wrappers for common Cordova plugins.",
11 | "main": [
12 | "./dist/ng-cordova.js"
13 | ],
14 | "ignore": [
15 | "**/.*",
16 | "gulpfile.js",
17 | "test",
18 | "src",
19 | "config",
20 | "demo",
21 | "CONTRIBUTING.md",
22 | "CODE_OF_CONDUCT.md"
23 | ],
24 | "dependencies": {
25 | "angular": ">= 1.2.23"
26 | },
27 | "keywords": [
28 | "ngCordova",
29 | "ng-cordova",
30 | "ngcordova",
31 | "ng cordova",
32 | "cordova",
33 | "phonegap",
34 | "angular",
35 | "angularjs",
36 | "ionic",
37 | "cordova plugin"
38 | ],
39 | "license": "MIT",
40 | "private": false,
41 | "devDependencies": {
42 | "angular": ">= 1.2.23",
43 | "angular-mocks": ">= 1.2.23",
44 | "jquery": "~2.1.1"
45 | },
46 | "_release": "0.1.24-alpha",
47 | "_resolution": {
48 | "type": "version",
49 | "tag": "v0.1.24-alpha",
50 | "commit": "9de37ab18b41cc5d03b74148306372d408bfcbb0"
51 | },
52 | "_source": "git://github.com/driftyco/ng-cordova.git",
53 | "_target": "~0.1.24-alpha",
54 | "_originalSource": "ngCordova",
55 | "_direct": true
56 | }
--------------------------------------------------------------------------------
/www/lib/ngCordova/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | Please refer to the [Github ngCordova Releases file](https://github.com/driftyco/ng-cordova/releases) for detailed information.
2 |
--------------------------------------------------------------------------------
/www/lib/ngCordova/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2014 Drifty
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
--------------------------------------------------------------------------------
/www/lib/ngCordova/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "ngCordova",
3 | "version": "0.1.24-alpha",
4 | "homepage": "http://ngCordova.com/",
5 | "authors": [
6 | "Max Lynch ",
7 | "Paolo Bernasconi ",
8 | "Chad Campbell "
9 | ],
10 | "description": "AngularJS Cordova wrappers for common Cordova plugins.",
11 | "main": [
12 | "./dist/ng-cordova.js"
13 | ],
14 | "ignore": [
15 | "**/.*",
16 | "gulpfile.js",
17 | "test",
18 | "src",
19 | "config",
20 | "demo",
21 | "CONTRIBUTING.md",
22 | "CODE_OF_CONDUCT.md"
23 | ],
24 | "dependencies": {
25 | "angular": ">= 1.2.23"
26 | },
27 | "keywords": [
28 | "ngCordova",
29 | "ng-cordova",
30 | "ngcordova",
31 | "ng cordova",
32 | "cordova",
33 | "phonegap",
34 | "angular",
35 | "angularjs",
36 | "ionic",
37 | "cordova plugin"
38 | ],
39 | "license": "MIT",
40 | "private": false,
41 | "devDependencies": {
42 | "angular": ">= 1.2.23",
43 | "angular-mocks": ">= 1.2.23",
44 | "jquery": "~2.1.1"
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/www/lib/ngCordova/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "ng-cordova",
3 | "private": false,
4 | "main": "dist/ng-cordova",
5 | "version": "0.1.24-alpha",
6 | "repository": {
7 | "url": "git://github.com/driftyco/ng-cordova.git"
8 | },
9 | "devDependencies": {
10 | "gulp": "^3.7.0",
11 | "gulp-concat": "^2.2.0",
12 | "gulp-footer": "^1.0.4",
13 | "gulp-header": "^1.0.2",
14 | "gulp-jscs": "^1.6.0",
15 | "gulp-jshint": "^1.6.1",
16 | "gulp-prettify": "^0.3.0",
17 | "gulp-rename": "^1.2.0",
18 | "gulp-shell": "^0.2.10",
19 | "gulp-uglify": "^0.2.1",
20 | "jshint-stylish": "^0.4.0",
21 | "karma": "^0.12.16",
22 | "karma-chrome-launcher": "~0.1.2",
23 | "karma-coverage": "~0.2.6",
24 | "karma-jasmine": "~0.1.5",
25 | "karma-phantomjs-launcher": "~0.1.2",
26 | "minimist": "^0.1.0"
27 | },
28 | "licenses": [
29 | {
30 | "type": "MIT"
31 | }
32 | ],
33 | "scripts": {
34 | "test": "gulp lint && gulp karma --browsers=PhantomJS --reporters=progress"
35 | },
36 | "dependencies": {
37 | "conventional-changelog": "0.0.11",
38 | "fs": "0.0.2",
39 | "gulp-git": "^1.2.4",
40 | "q": "^1.1.2"
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/www/lib/ngstorage/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "ngstorage",
3 | "version": "0.3.10",
4 | "main": "./ngStorage.js",
5 | "keywords": [
6 | "angular",
7 | "cookie",
8 | "storage",
9 | "local",
10 | "localstorage",
11 | "session",
12 | "sessionstorage"
13 | ],
14 | "ignore": [
15 | "CHANGELOG.md",
16 | "components",
17 | "node_modules",
18 | "test",
19 | "package.json",
20 | "Gruntfile.js",
21 | ".bowerrc",
22 | ".gitignore",
23 | ".travis.yml"
24 | ],
25 | "dependencies": {
26 | "angular": ">=1.0.8"
27 | },
28 | "devDependencies": {
29 | "angular-mocks": ">=1.0.8",
30 | "chai": "^2.0.0"
31 | },
32 | "repository": {
33 | "type": "git",
34 | "url": "git://github.com/gsklee/ngStorage.git"
35 | },
36 | "homepage": "https://github.com/gsklee/ngStorage",
37 | "_release": "0.3.10",
38 | "_resolution": {
39 | "type": "version",
40 | "tag": "0.3.10",
41 | "commit": "3cd5ffaff77bebda910b94ca2a657ac44f4aac79"
42 | },
43 | "_source": "git://github.com/gsklee/ngStorage.git",
44 | "_target": "~0.3.10",
45 | "_originalSource": "ngstorage",
46 | "_direct": true
47 | }
--------------------------------------------------------------------------------
/www/lib/ngstorage/.editorconfig:
--------------------------------------------------------------------------------
1 | # http://editorconfig.org
2 |
3 | root = true
4 |
5 | [*]
6 | charset = utf-8
7 | indent_style = space
8 | indent_size = 2
9 | end_of_line = lf
10 | trim_trailing_whitespace = true
11 | insert_final_newline = true
12 |
13 | [*.md]
14 | trim_trailing_whitespace = false
15 |
--------------------------------------------------------------------------------
/www/lib/ngstorage/.gitattributes:
--------------------------------------------------------------------------------
1 | # http://git-scm.com/docs/gitattributes
2 |
3 | * text=auto
4 |
--------------------------------------------------------------------------------
/www/lib/ngstorage/.npmignore:
--------------------------------------------------------------------------------
1 | # https://docs.npmjs.com/misc/developers
2 |
3 | *
4 | !.gitignore
5 | !LICENSE
6 | !ngStorage.js
7 | !ngStorage.min.js
8 |
--------------------------------------------------------------------------------
/www/lib/ngstorage/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2015 Gias Kay Lee
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in
13 | all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | THE SOFTWARE.
22 |
--------------------------------------------------------------------------------
/www/lib/ngstorage/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "ngstorage",
3 | "version": "0.3.10",
4 | "main": "./ngStorage.js",
5 | "keywords": [
6 | "angular",
7 | "cookie",
8 | "storage",
9 | "local",
10 | "localstorage",
11 | "session",
12 | "sessionstorage"
13 | ],
14 | "ignore": [
15 | "CHANGELOG.md",
16 | "components",
17 | "node_modules",
18 | "test",
19 | "package.json",
20 | "Gruntfile.js",
21 | ".bowerrc",
22 | ".gitignore",
23 | ".travis.yml"
24 | ],
25 | "dependencies": {
26 | "angular": ">=1.0.8"
27 | },
28 | "devDependencies": {
29 | "angular-mocks": ">=1.0.8",
30 | "chai": "^2.0.0"
31 | },
32 | "repository": {
33 | "type": "git",
34 | "url": "git://github.com/gsklee/ngStorage.git"
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/www/lib/ngstorage/ngStorage.min.js:
--------------------------------------------------------------------------------
1 | /*! ngstorage 0.3.10 | Copyright (c) 2015 Gias Kay Lee | MIT License */!function(a,b){"use strict";"function"==typeof define&&define.amd?define(["angular"],b):a.hasOwnProperty("angular")?b(a.angular):"object"==typeof exports&&(module.exports=b(require("angular")))}(this,function(a){"use strict";function b(b){return function(){var c="ngStorage-";this.setKeyPrefix=function(a){if("string"!=typeof a)throw new TypeError("[ngStorage] - "+b+"Provider.setKeyPrefix() expects a String.");c=a};var d=a.toJson,e=a.fromJson;this.setSerializer=function(a){if("function"!=typeof a)throw new TypeError("[ngStorage] - "+b+"Provider.setSerializer expects a function.");d=a},this.setDeserializer=function(a){if("function"!=typeof a)throw new TypeError("[ngStorage] - "+b+"Provider.setDeserializer expects a function.");e=a},this.get=function(a){return e(window[b].getItem(c+a))},this.set=function(a,e){return window[b].setItem(c+a,d(e))},this.$get=["$rootScope","$window","$log","$timeout","$document",function(f,g,h,i,j){function k(a){var b;try{b=g[a]}catch(c){b=!1}if(b&&"localStorage"===a){var d="__"+Math.round(1e7*Math.random());try{localStorage.setItem(d,d),localStorage.removeItem(d)}catch(c){b=!1}}return b}var l,m,n=c.length,o=k(b)||(h.warn("This browser does not support Web Storage!"),{setItem:a.noop,getItem:a.noop,removeItem:a.noop}),p={$default:function(b){for(var c in b)a.isDefined(p[c])||(p[c]=a.copy(b[c]));return p.$sync(),p},$reset:function(a){for(var b in p)"$"===b[0]||delete p[b]&&o.removeItem(c+b);return p.$default(a)},$sync:function(){for(var a,b=0,d=o.length;d>b;b++)(a=o.key(b))&&c===a.slice(0,n)&&(p[a.slice(n)]=e(o.getItem(a)))},$apply:function(){var b;if(m=null,!a.equals(p,l)){b=a.copy(l),a.forEach(p,function(e,f){a.isDefined(e)&&"$"!==f[0]&&(o.setItem(c+f,d(e)),delete b[f])});for(var e in b)o.removeItem(c+e);l=a.copy(p)}}};return p.$sync(),l=a.copy(p),f.$watch(function(){m||(m=i(p.$apply,100,!1))}),g.addEventListener&&g.addEventListener("storage",function(b){if(b.key){var d=j[0];d.hasFocus&&d.hasFocus()||c!==b.key.slice(0,n)||(b.newValue?p[b.key.slice(n)]=e(b.newValue):delete p[b.key.slice(n)],l=a.copy(p),f.$apply())}}),g.addEventListener&&g.addEventListener("beforeunload",function(){p.$apply()}),p}]}}return a=a&&a.module?a:window.angular,a.module("ngStorage",[]).provider("$localStorage",b("localStorage")).provider("$sessionStorage",b("sessionStorage"))});
--------------------------------------------------------------------------------
/www/lib/ngstorage/package.js:
--------------------------------------------------------------------------------
1 | Package.describe({
2 | name: 'gsklee:ngstorage',
3 | version: '0.3.10',
4 | summary: 'ngStorage package for Meteor',
5 | git: 'https://github.com/gsklee/ngStorage',
6 | documentation: 'README.md'
7 | });
8 |
9 | Package.onUse(function(api) {
10 | api.versionsFrom('METEOR@0.9.0.1');
11 | api.use('urigo:angular@0.8.4', 'client');
12 | api.addFiles('ngStorage.js', 'client');
13 | });
14 |
--------------------------------------------------------------------------------
/www/lib/thirdparty/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/www/lib/thirdparty/.DS_Store
--------------------------------------------------------------------------------
/www/lib/thirdparty/lightwallet.min.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lightrainstech/etherwallet/8b71a1024c33da79d9f43b22aaca75fd4695e9db/www/lib/thirdparty/lightwallet.min.js
--------------------------------------------------------------------------------
/www/lib/web3/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "web3",
3 | "namespace": "ethereum",
4 | "version": "0.15.0",
5 | "description": "Ethereum Compatible JavaScript API",
6 | "main": [
7 | "./dist/web3.js",
8 | "./dist/web3.min.js"
9 | ],
10 | "dependencies": {
11 | "bignumber.js": ">=2.0.0",
12 | "crypto-js": "~3.1.4"
13 | },
14 | "repository": {
15 | "type": "git",
16 | "url": "https://github.com/ethereum/web3.js.git"
17 | },
18 | "homepage": "https://github.com/ethereum/web3.js",
19 | "bugs": {
20 | "url": "https://github.com/ethereum/web3.js/issues"
21 | },
22 | "keywords": [
23 | "ethereum",
24 | "javascript",
25 | "API"
26 | ],
27 | "authors": [
28 | {
29 | "name": "Marek Kotewicz",
30 | "email": "marek@ethdev.com",
31 | "homepage": "https://github.com/debris"
32 | },
33 | {
34 | "name": "Marian Oancea",
35 | "email": "marian@ethdev.com",
36 | "homepage": "https://github.com/cubedro"
37 | },
38 | {
39 | "name": "Fabian Vogelsteller",
40 | "email": "fabian@ethdev.com",
41 | "homepage": "https://github.com/frozeman"
42 | }
43 | ],
44 | "license": "LGPL-3.0",
45 | "ignore": [
46 | "example",
47 | "lib",
48 | "node_modules",
49 | "package.json",
50 | "package.js",
51 | ".versions",
52 | ".bowerrc",
53 | ".editorconfig",
54 | ".gitignore",
55 | ".jshintrc",
56 | ".npmignore",
57 | ".travis.yml",
58 | "gulpfile.js",
59 | "index.js",
60 | "**/*.txt"
61 | ],
62 | "_release": "0.15.0",
63 | "_resolution": {
64 | "type": "version",
65 | "tag": "0.15.0",
66 | "commit": "29e3efb8d88d41e1a7ef0fdfba0d652b503d63e0"
67 | },
68 | "_source": "git://github.com/ethereum/ethereum.js.git",
69 | "_target": "~0.15.0",
70 | "_originalSource": "web3",
71 | "_direct": true
72 | }
--------------------------------------------------------------------------------
/www/lib/web3/LICENSE:
--------------------------------------------------------------------------------
1 | This file is part of web3.js.
2 |
3 | web3.js is free software: you can redistribute it and/or modify
4 | it under the terms of the GNU Lesser General Public License as published by
5 | the Free Software Foundation, either version 3 of the License, or
6 | (at your option) any later version.
7 |
8 | web3.js is distributed in the hope that it will be useful,
9 | but WITHOUT ANY WARRANTY; without even the implied warranty of
10 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 | GNU Lesser General Public License for more details.
12 |
13 | You should have received a copy of the GNU Lesser General Public License
14 | along with web3.js. If not, see .
15 |
--------------------------------------------------------------------------------
/www/lib/web3/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "web3",
3 | "namespace": "ethereum",
4 | "version": "0.15.0",
5 | "description": "Ethereum Compatible JavaScript API",
6 | "main": [
7 | "./dist/web3.js",
8 | "./dist/web3.min.js"
9 | ],
10 | "dependencies": {
11 | "bignumber.js": ">=2.0.0",
12 | "crypto-js": "~3.1.4"
13 | },
14 | "repository": {
15 | "type": "git",
16 | "url": "https://github.com/ethereum/web3.js.git"
17 | },
18 | "homepage": "https://github.com/ethereum/web3.js",
19 | "bugs": {
20 | "url": "https://github.com/ethereum/web3.js/issues"
21 | },
22 | "keywords": [
23 | "ethereum",
24 | "javascript",
25 | "API"
26 | ],
27 | "authors": [
28 | {
29 | "name": "Marek Kotewicz",
30 | "email": "marek@ethdev.com",
31 | "homepage": "https://github.com/debris"
32 | },
33 | {
34 | "name": "Marian Oancea",
35 | "email": "marian@ethdev.com",
36 | "homepage": "https://github.com/cubedro"
37 | },
38 | {
39 | "name": "Fabian Vogelsteller",
40 | "email": "fabian@ethdev.com",
41 | "homepage": "https://github.com/frozeman"
42 | }
43 | ],
44 | "license": "LGPL-3.0",
45 | "ignore": [
46 | "example",
47 | "lib",
48 | "node_modules",
49 | "package.json",
50 | "package.js",
51 | ".versions",
52 | ".bowerrc",
53 | ".editorconfig",
54 | ".gitignore",
55 | ".jshintrc",
56 | ".npmignore",
57 | ".travis.yml",
58 | "gulpfile.js",
59 | "index.js",
60 | "**/*.txt"
61 | ]
62 | }
63 |
--------------------------------------------------------------------------------
/www/lib/web3/package-init.js:
--------------------------------------------------------------------------------
1 | /* jshint ignore:start */
2 |
3 |
4 | // Browser environment
5 | if(typeof window !== 'undefined') {
6 | Web3 = (typeof window.Web3 !== 'undefined') ? window.Web3 : require('web3');
7 | BigNumber = (typeof window.BigNumber !== 'undefined') ? window.BigNumber : require('bignumber.js');
8 | }
9 |
10 |
11 | // Node environment
12 | if(typeof global !== 'undefined') {
13 | Web3 = (typeof global.Web3 !== 'undefined') ? global.Web3 : require('web3');
14 | BigNumber = (typeof global.BigNumber !== 'undefined') ? global.BigNumber : require('bignumber.js');
15 | }
16 |
17 | /* jshint ignore:end */
--------------------------------------------------------------------------------
/www/lib/web3/test/errors.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var assert = chai.assert;
3 | var errors = require('../lib/web3/errors');
4 |
5 | describe('lib/web3/method', function () {
6 | describe('getCall', function () {
7 |
8 | for(var key in errors) {
9 | it('should return and error', function () {
10 |
11 | assert.instanceOf(errors[key](), Error);
12 | });
13 | }
14 |
15 | });
16 | });
17 |
18 |
--------------------------------------------------------------------------------
/www/lib/web3/test/formatters.inputAddressFormatter.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var assert = chai.assert;
3 | var formatters = require('../lib/web3/formatters.js');
4 | var BigNumber = require('bignumber.js');
5 |
6 | var tests = [
7 | { input: 'XE7338O073KYGTWWZN0F2WZ0R8PX5ZPPZS', result: '0x00c5496aee77c1ba1f0854206a26dda82a81d6d8' },
8 | { input: '0x00c5496aee77c1ba1f0854206a26dda82a81d6d8', result: '0x00c5496aee77c1ba1f0854206a26dda82a81d6d8'},
9 | { input: '00c5496aee77c1ba1f0854206a26dda82a81d6d8', result: '0x00c5496aee77c1ba1f0854206a26dda82a81d6d8'},
10 | { input: '0x11f4d0a3c12e86b4b5f39b213f7e19d048276dae', result: '0x11f4d0a3c12e86b4b5f39b213f7e19d048276dae' }
11 | ];
12 |
13 | var errorTests = [
14 | '0x0c5496aee77c1ba1f0854206a26dda82a81d6d8',
15 | '0x0c5496aee77c1ba1f0854206a26dda82a81d6d8',
16 | '00c5496aee77c1ba1f0854206a26dda82a81d6d',
17 | 'XE7338O073KYGTWWZN0F2WZ0R8PX5ZPPZE',
18 | '0x'
19 | ]
20 |
21 | describe('formatters', function () {
22 | describe('inputAddressFormatter', function () {
23 | tests.forEach(function(test){
24 | it('should return the correct value', function () {
25 | assert.deepEqual(formatters.inputAddressFormatter(test.input), test.result);
26 | });
27 | });
28 | });
29 | });
30 |
31 |
32 | describe('formatters', function () {
33 | describe('inputAddressFormatter', function () {
34 | errorTests.forEach(function(test){
35 | it('should throw an exception', function () {
36 | assert.throws(function () {
37 | formatters.inputAddressFormatter(test);
38 | });
39 | });
40 | });
41 | });
42 | });
43 |
--------------------------------------------------------------------------------
/www/lib/web3/test/formatters.inputDefaultBlockFormatter.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var assert = chai.assert;
3 | var formatters = require('../lib/web3/formatters');
4 |
5 | var tests = [
6 | { value: 'latest', expected: 'latest' },
7 | { value: 'pending', expected: 'pending' },
8 | { value: 'earliest', expected: 'earliest' },
9 | { value: 1, expected: '0x1' },
10 | { value: '0x1', expected: '0x1' }
11 | ];
12 |
13 | describe('lib/web3/formatters', function () {
14 | describe('inputDefaultBlockNumberFormatter', function () {
15 | tests.forEach(function (test) {
16 | it('should turn ' + test.value + ' to ' + test.expected, function () {
17 | assert.strictEqual(formatters.inputDefaultBlockNumberFormatter(test.value), test.expected);
18 | });
19 | });
20 | });
21 | });
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/www/lib/web3/test/formatters.inputPostFormatter.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var assert = chai.assert;
3 | var formatters = require('../lib/web3/formatters.js');
4 |
5 | describe('formatters', function () {
6 | describe('inputPostFormatter', function () {
7 | it('should return the correct value', function () {
8 |
9 | // input as strings and numbers
10 | assert.deepEqual(formatters.inputPostFormatter({
11 | from: '0x00000',
12 | to: '0x00000',
13 | payload: {test: 'test'},
14 | ttl: 200,
15 | priority: 1000,
16 | topics: ['hello','mytopics']
17 | }), {
18 | from: '0x00000',
19 | to: '0x00000',
20 | payload: '0x7b2274657374223a2274657374227d',
21 | ttl: '0xc8',
22 | priority: '0x3e8',
23 | topics: ['0x68656c6c6f','0x6d79746f70696373'],
24 | workToProve: '0x0'
25 | });
26 |
27 | });
28 | });
29 | });
30 |
31 |
--------------------------------------------------------------------------------
/www/lib/web3/test/formatters.outputLogFormatter.js:
--------------------------------------------------------------------------------
1 | var assert = require('assert');
2 | var formatters = require('../lib/web3/formatters.js');
3 |
4 | describe('formatters', function () {
5 | describe('outputLogFormatter', function () {
6 | it('should return the correct value', function () {
7 |
8 | assert.deepEqual(formatters.outputLogFormatter({
9 | transactionIndex: '0x3e8',
10 | logIndex: '0x3e8',
11 | blockNumber: '0x3e8',
12 | transactionHash: '0xd6960376d6c6dea93647383ffb245cfced97ccc5c7525397a543a72fdaea5265',
13 | blockHash: '0xd6960376d6c6dea93647383ffb245cfced97ccc5c7525397a543a72fdaea5265',
14 | data: '0x7b2274657374223a2274657374227',
15 | topics: ['0x68656c6c6f','0x6d79746f70696373']
16 | }), {
17 | transactionIndex: 1000,
18 | logIndex: 1000,
19 | blockNumber: 1000,
20 | transactionHash: '0xd6960376d6c6dea93647383ffb245cfced97ccc5c7525397a543a72fdaea5265',
21 | blockHash: '0xd6960376d6c6dea93647383ffb245cfced97ccc5c7525397a543a72fdaea5265',
22 | data: '0x7b2274657374223a2274657374227',
23 | topics: ['0x68656c6c6f','0x6d79746f70696373']
24 | });
25 | });
26 | it('should return the correct value, when null values are present', function () {
27 |
28 | assert.deepEqual(formatters.outputLogFormatter({
29 | transactionIndex: null,
30 | logIndex: null,
31 | blockNumber: null,
32 | transactionHash: null,
33 | blockHash: null,
34 | data: '0x7b2274657374223a2274657374227',
35 | topics: ['0x68656c6c6f','0x6d79746f70696373']
36 | }), {
37 | transactionIndex: null,
38 | logIndex: null,
39 | blockNumber: null,
40 | transactionHash: null,
41 | blockHash: null,
42 | data: '0x7b2274657374223a2274657374227',
43 | topics: ['0x68656c6c6f','0x6d79746f70696373']
44 | });
45 | });
46 | });
47 | });
48 |
--------------------------------------------------------------------------------
/www/lib/web3/test/formatters.outputPostFormatter.js:
--------------------------------------------------------------------------------
1 | var assert = require('assert');
2 | var formatters = require('../lib/web3/formatters.js');
3 |
4 | describe('formatters', function () {
5 | describe('outputPostFormatter', function () {
6 | it('should return the correct value', function () {
7 |
8 | assert.deepEqual(formatters.outputPostFormatter({
9 | expiry: '0x3e8',
10 | sent: '0x3e8',
11 | ttl: '0x3e8',
12 | workProved: '0x3e8',
13 | payload: '0x7b2274657374223a2274657374227d',
14 | topics: ['0x68656c6c6f','0x6d79746f70696373']
15 | }), {
16 | expiry: 1000,
17 | sent: 1000,
18 | ttl: 1000,
19 | workProved: 1000,
20 | payload: {test: 'test'},
21 | payloadRaw: '0x7b2274657374223a2274657374227d',
22 | topics: ['hello','mytopics']
23 | });
24 | });
25 | });
26 | });
27 |
--------------------------------------------------------------------------------
/www/lib/web3/test/formatters.outputTransactionFormatter.js:
--------------------------------------------------------------------------------
1 | var assert = require('assert');
2 | var formatters = require('../lib/web3/formatters.js');
3 | var BigNumber = require('bignumber.js');
4 |
5 | describe('formatters', function () {
6 | describe('outputTransactionFormatter', function () {
7 | it('should return the correct value', function () {
8 |
9 | assert.deepEqual(formatters.outputTransactionFormatter({
10 | input: '0x3454645634534',
11 | from: '0x00000',
12 | to: '0x00000',
13 | value: '0x3e8',
14 | gas: '0x3e8',
15 | gasPrice: '0x3e8',
16 | nonce: '0xb',
17 | transactionIndex: '0x1',
18 | blockNumber: '0x3e8',
19 | blockHash: '0xc9b9cdc2092a9d6589d96662b1fd6949611163fb3910cf8a173cd060f17702f9'
20 | }), {
21 | input: '0x3454645634534',
22 | from: '0x00000',
23 | to: '0x00000',
24 | value: new BigNumber(1000),
25 | gas: 1000,
26 | gasPrice: new BigNumber(1000),
27 | nonce: 11,
28 | blockNumber: 1000,
29 | blockHash: '0xc9b9cdc2092a9d6589d96662b1fd6949611163fb3910cf8a173cd060f17702f9',
30 | transactionIndex: 1
31 | });
32 | });
33 |
34 | it('should return the correct value, when null values are present', function () {
35 |
36 | assert.deepEqual(formatters.outputTransactionFormatter({
37 | input: '0x3454645634534',
38 | from: '0x00000',
39 | to: null,
40 | value: '0x3e8',
41 | gas: '0x3e8',
42 | gasPrice: '0x3e8',
43 | nonce: '0xb',
44 | transactionIndex: null,
45 | blockNumber: null,
46 | blockHash: null
47 | }), {
48 | input: '0x3454645634534',
49 | from: '0x00000',
50 | to: null,
51 | value: new BigNumber(1000),
52 | gas: 1000,
53 | gasPrice: new BigNumber(1000),
54 | nonce: 11,
55 | blockNumber: null,
56 | blockHash: null,
57 | transactionIndex: null
58 | });
59 | });
60 | });
61 | });
62 |
--------------------------------------------------------------------------------
/www/lib/web3/test/helpers/FakeHttpProvider2.js:
--------------------------------------------------------------------------------
1 | var FakeHttpProvider = require('./FakeHttpProvider');
2 |
3 | var FakeHttpProvider2 = function () {
4 | this.counter = 0;
5 | this.resultList = [];
6 | };
7 |
8 | FakeHttpProvider2.prototype = new FakeHttpProvider();
9 | FakeHttpProvider2.prototype.constructor = FakeHttpProvider2;
10 |
11 | FakeHttpProvider2.prototype.injectResultList = function (list) {
12 | this.resultList = list;
13 | };
14 |
15 | FakeHttpProvider2.prototype.getResponse = function () {
16 | var result = this.resultList[this.counter];
17 | this.counter++;
18 |
19 | // add fallback result value
20 | if(!result)
21 | result = {
22 | result: undefined
23 | };
24 |
25 | if (result.type === 'batch') {
26 | this.injectBatchResults(result.result);
27 | } else {
28 | this.injectResult(result.result);
29 | }
30 |
31 | this.counter = 0;
32 |
33 | return this.response;
34 | };
35 |
36 | module.exports = FakeHttpProvider2;
37 |
38 |
--------------------------------------------------------------------------------
/www/lib/web3/test/helpers/FakeIpcRequest.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var assert = chai.assert;
3 |
4 | var FakeIpcRequest = function () {
5 | this._handle = {fd: {}};
6 | this.callbacks = [];
7 |
8 | return this
9 | };
10 |
11 | FakeIpcRequest.prototype.connect = function (path) {
12 | assert.notEqual(path, undefined);
13 |
14 | return this;
15 | };
16 |
17 | FakeIpcRequest.prototype.on = function(name, callback) {
18 | if(name === 'data'){
19 | this.callbacks.push(callback);
20 | }
21 | };
22 |
23 | FakeIpcRequest.prototype.writeSync = function (payload) {
24 | assert.equal(typeof payload, 'string');
25 | return payload;
26 | };
27 |
28 | FakeIpcRequest.prototype.write = function (payload) {
29 | assert.equal(typeof payload, 'string');
30 |
31 | this.callbacks.forEach(function(cb){
32 | setTimeout(function(){
33 | cb(payload);
34 | }, 100);
35 | });
36 |
37 | };
38 |
39 | module.exports = FakeIpcRequest;
40 |
41 |
--------------------------------------------------------------------------------
/www/lib/web3/test/helpers/FakeQtNavigator.js:
--------------------------------------------------------------------------------
1 |
2 | var navigator = {
3 | qt: {
4 | callMethod: function (payload) {
5 | return "{}";
6 | }
7 | }
8 | };
9 |
10 | module.exports = navigator;
11 |
12 |
--------------------------------------------------------------------------------
/www/lib/web3/test/helpers/FakeXMLHttpRequest.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var assert = chai.assert;
3 |
4 | var FakeXMLHttpRequest = function () {
5 | this.responseText = "{}";
6 | this.readyState = 4;
7 | this.onreadystatechange = null;
8 | this.async = false;
9 | this.headers = {
10 | 'Content-Type': 'text/plain'
11 | };
12 | };
13 |
14 | FakeXMLHttpRequest.prototype.open = function (method, host, async) {
15 | assert.equal(method, 'POST');
16 | assert.notEqual(host, null);
17 | assert.equal(async === false || async === true, true);
18 | this.async = async;
19 | };
20 |
21 | FakeXMLHttpRequest.prototype.setRequestHeader = function(name, value) {
22 | this.headers[name] = value;
23 | };
24 |
25 | FakeXMLHttpRequest.prototype.send = function (payload) {
26 | assert.equal(typeof payload, 'string');
27 | if (this.async) {
28 | assert.equal(typeof this.onreadystatechange, 'function');
29 | this.onreadystatechange();
30 | return;
31 | }
32 | return this.responseText;
33 | };
34 |
35 | module.exports = {
36 | XMLHttpRequest: FakeXMLHttpRequest
37 | };
38 |
39 |
--------------------------------------------------------------------------------
/www/lib/web3/test/helpers/test.utils.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var assert = chai.assert;
3 | //var web3 = require('../../index');
4 |
5 | var FakeHttpProvider = require('./FakeHttpProvider');
6 |
7 | var methodExists = function (object, method) {
8 | it('should have method ' + method + ' implemented', function() {
9 | //web3.setProvider(null);
10 | assert.equal('function', typeof object[method], 'method ' + method + ' is not implemented');
11 | });
12 | };
13 |
14 | var propertyExists = function (object, property) {
15 | it('should have property ' + property + ' implemented', function() {
16 | // set dummy providor, to prevent error
17 | //web3.setProvider(new FakeHttpProvider());
18 | assert.notEqual('undefined', typeof object[property], 'property ' + property + ' is not implemented');
19 | });
20 | };
21 |
22 | module.exports = {
23 | methodExists: methodExists,
24 | propertyExists: propertyExists
25 | };
26 |
27 |
--------------------------------------------------------------------------------
/www/lib/web3/test/httpprovider.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var assert = chai.assert;
3 | var SandboxedModule = require('sandboxed-module');
4 |
5 | SandboxedModule.registerBuiltInSourceTransformer('istanbul');
6 | var HttpProvider = SandboxedModule.require('../lib/web3/httpprovider', {
7 | requires: {
8 | 'xmlhttprequest': require('./helpers/FakeXMLHttpRequest')
9 | }
10 | });
11 |
12 | describe('lib/web3/httpprovider', function () {
13 | describe('send', function () {
14 | it('should send basic request', function () {
15 | var provider = new HttpProvider();
16 | var result = provider.send({});
17 |
18 | assert.equal(typeof result, 'object');
19 | });
20 | });
21 |
22 | describe('sendAsync', function () {
23 | it('should send basic async request', function (done) {
24 | var provider = new HttpProvider();
25 |
26 | provider.sendAsync({}, function (err, result) {
27 | assert.equal(typeof result, 'object');
28 | done();
29 | });
30 | });
31 | });
32 |
33 | describe('isConnected', function () {
34 | it('should return a boolean', function () {
35 | var provider = new HttpProvider();
36 |
37 | assert.isBoolean(provider.isConnected());
38 | });
39 | });
40 | });
41 |
42 |
--------------------------------------------------------------------------------
/www/lib/web3/test/iban.createIndirect.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var Iban = require('../lib/web3/iban.js');
3 | var assert = chai.assert;
4 |
5 | var tests = [
6 | { institution: 'XREG', identifier: 'GAVOFYORK', expected: 'XE81ETHXREGGAVOFYORK'}
7 | ];
8 |
9 | describe('lib/web3/iban', function () {
10 | describe('createIndirect', function () {
11 | tests.forEach(function (test) {
12 | it('shoud create indirect iban: ' + test.expected, function () {
13 | assert.deepEqual(Iban.createIndirect({
14 | institution: test.institution,
15 | identifier: test.identifier
16 | }), new Iban(test.expected));
17 | });
18 | });
19 | });
20 | });
21 |
22 |
--------------------------------------------------------------------------------
/www/lib/web3/test/iban.fromAddress.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var Iban = require('../lib/web3/iban.js');
3 | var assert = chai.assert;
4 |
5 | var tests = [
6 | { address: '00c5496aee77c1ba1f0854206a26dda82a81d6d8', expected: 'XE7338O073KYGTWWZN0F2WZ0R8PX5ZPPZS'},
7 | { address: '0x00c5496aee77c1ba1f0854206a26dda82a81d6d8', expected: 'XE7338O073KYGTWWZN0F2WZ0R8PX5ZPPZS'},
8 | { address: '0x11c5496aee77c1ba1f0854206a26dda82a81d6d8', expected: 'XE1222Q908LN1QBBU6XUQSO1OHWJIOS46OO'},
9 | { address: '0x52dc504a422f0e2a9e7632a34a50f1a82f8224c7', expected: 'XE499OG1EH8ZZI0KXC6N83EKGT1BM97P2O7'},
10 | { address: '0x0000a5327eab78357cbf2ae8f3d49fd9d90c7d22', expected: 'XE0600DQK33XDTYUCRI0KYM5ELAKXDWWF6'}
11 | ];
12 |
13 | describe('lib/web3/iban', function () {
14 | describe('fromAddress', function () {
15 | tests.forEach(function (test) {
16 | it('shoud create indirect iban: ' + test.expected, function () {
17 | assert.deepEqual(Iban.fromAddress(test.address), new Iban(test.expected));
18 | });
19 | });
20 | });
21 | });
22 |
23 |
--------------------------------------------------------------------------------
/www/lib/web3/test/iban.isValid.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var Iban = require('../lib/web3/iban.js');
3 | var assert = chai.assert;
4 |
5 | var tests = [
6 | { obj: function () {}, is: false},
7 | { obj: new Function(), is: false},
8 | { obj: 'function', is: false},
9 | { obj: {}, is: false},
10 | { obj: '[]', is: false},
11 | { obj: '[1, 2]', is: false},
12 | { obj: '{}', is: false},
13 | { obj: '{"a": 123, "b" :3,}', is: false},
14 | { obj: '{"c" : 2}', is: false},
15 | { obj: 'XE81ETHXREGGAVOFYORK', is: true},
16 | { obj: 'XE82ETHXREGGAVOFYORK', is: false}, // control number is invalid
17 | { obj: 'XE81ETCXREGGAVOFYORK', is: false},
18 | { obj: 'XE81ETHXREGGAVOFYORKD', is: false},
19 | { obj: 'XE81ETHXREGGaVOFYORK', is: false},
20 | { obj: 'XE7338O073KYGTWWZN0F2WZ0R8PX5ZPPZS', is: true},
21 | { obj: 'XE7438O073KYGTWWZN0F2WZ0R8PX5ZPPZS', is: false}, // control number is invalid
22 | { obj: 'XD7338O073KYGTWWZN0F2WZ0R8PX5ZPPZS', is: false},
23 | { obj: 'XE1222Q908LN1QBBU6XUQSO1OHWJIOS46OO', is: true}
24 | ];
25 |
26 | describe('lib/web3/iban', function () {
27 | describe('isValid', function () {
28 | tests.forEach(function (test) {
29 | it('shoud test if value ' + test.obj + ' is iban: ' + test.is, function () {
30 | assert.equal(Iban.isValid(test.obj), test.is);
31 | });
32 | });
33 | });
34 | });
35 |
36 |
--------------------------------------------------------------------------------
/www/lib/web3/test/iban.toAddress.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var Iban = require('../lib/web3/iban.js');
3 | var assert = chai.assert;
4 |
5 | var tests = [
6 | { direct: 'XE7338O073KYGTWWZN0F2WZ0R8PX5ZPPZS', address: '00c5496aee77c1ba1f0854206a26dda82a81d6d8'}
7 | ];
8 |
9 | describe('lib/web3/iban', function () {
10 | describe('toAddress', function () {
11 | tests.forEach(function (test) {
12 | it('shoud transform iban to address: ' + test.address, function () {
13 | var iban = new Iban(test.direct);
14 | assert.deepEqual(iban.address(), test.address);
15 | });
16 | });
17 | });
18 | });
19 |
20 |
--------------------------------------------------------------------------------
/www/lib/web3/test/ipcprovider.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var assert = chai.assert;
3 | var SandboxedModule = require('sandboxed-module');
4 | var FakeIpcRequest = require('./helpers/FakeIpcRequest')
5 | var net = new FakeIpcRequest();
6 |
7 | SandboxedModule.registerBuiltInSourceTransformer('istanbul');
8 | var IpcProvider = SandboxedModule.require('../lib/web3/ipcprovider', {
9 | requires: {
10 | 'bignumber.js': require('bignumber.js'),
11 | }
12 | });
13 |
14 | describe('lib/web3/ipcprovider', function () {
15 | describe('send', function () {
16 | it('should send basic request', function () {
17 | var provider = new IpcProvider('', net);
18 | var result = provider.send({id: 1, method: 'eth_test'});
19 |
20 | assert.isObject(result);
21 | });
22 | });
23 |
24 | describe('sendAsync', function () {
25 | it('should send basic async request', function (done) {
26 | var provider = new IpcProvider('', net);
27 | provider.sendAsync({id: 1, method: 'eth_test'}, function (err, result) {
28 | assert.isObject(result);
29 | done();
30 | });
31 | });
32 | });
33 |
34 | describe('isConnected', function () {
35 | it('should return a boolean', function () {
36 | var provider = new IpcProvider('', net);
37 |
38 | assert.isBoolean(provider.isConnected());
39 | });
40 |
41 | it('should return false', function () {
42 | var provider = new IpcProvider('', net);
43 |
44 | provider.connection.writable = false;
45 |
46 | assert.isFalse(provider.isConnected());
47 | });
48 |
49 | it('should return true, when a net handle is set', function () {
50 | var provider = new IpcProvider('', net);
51 |
52 | provider.connection.writable = true;
53 |
54 | assert.isTrue(provider.isConnected());
55 | });
56 | });
57 | });
58 |
59 |
--------------------------------------------------------------------------------
/www/lib/web3/test/jsonrpc.id.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var assert = chai.assert;
3 | var Jsonrpc = require('../lib/web3/jsonrpc');
4 |
5 | describe('lib/web3/jsonrpc', function () {
6 | describe('id', function () {
7 | it('should increment the id', function () {
8 |
9 | // given
10 | var a = Jsonrpc.getInstance();
11 | var b = Jsonrpc.getInstance();
12 | var method = 'm';
13 |
14 | // when
15 | var p1 = a.toPayload(method);
16 | var p2 = b.toPayload(method);
17 |
18 | // then
19 | assert.equal(p2.id, p1.id + 1);
20 | });
21 | });
22 | });
23 |
24 |
--------------------------------------------------------------------------------
/www/lib/web3/test/jsonrpc.toBatchPayload.js:
--------------------------------------------------------------------------------
1 | var assert = require('assert');
2 | var jsonrpc = require('../lib/web3/jsonrpc');
3 | jsonrpc = new jsonrpc();
4 |
5 | describe('jsonrpc', function () {
6 | describe('toBatchPayload', function () {
7 | it('should create basic batch payload', function () {
8 |
9 | // given
10 | var messages = [{
11 | method: 'helloworld'
12 | }, {
13 | method: 'test2',
14 | params: [1]
15 | }];
16 |
17 | // when
18 | var payload = jsonrpc.toBatchPayload(messages);
19 |
20 | // then
21 | assert.equal(payload instanceof Array, true);
22 | assert.equal(payload.length, 2);
23 | assert.equal(payload[0].jsonrpc, '2.0');
24 | assert.equal(payload[1].jsonrpc, '2.0');
25 | assert.equal(payload[0].method, 'helloworld');
26 | assert.equal(payload[1].method, 'test2');
27 | assert.equal(payload[0].params instanceof Array, true);
28 | assert.equal(payload[1].params.length, 1);
29 | assert.equal(payload[1].params[0], 1);
30 | assert.equal(typeof payload[0].id, 'number');
31 | assert.equal(typeof payload[1].id, 'number');
32 | assert.equal(payload[0].id + 1, payload[1].id);
33 | });
34 |
35 | it('should create batch payload for empty input array', function () {
36 |
37 | // given
38 | var messages = [];
39 |
40 | // when
41 | var payload = jsonrpc.toBatchPayload(messages);
42 |
43 | // then
44 | assert.equal(payload instanceof Array, true);
45 | assert.equal(payload.length, 0);
46 | });
47 | });
48 | });
49 |
--------------------------------------------------------------------------------
/www/lib/web3/test/jsonrpc.toPayload.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var assert = chai.assert;
3 | var jsonrpc = require('../lib/web3/jsonrpc');
4 | jsonrpc = new jsonrpc();
5 |
6 | describe('jsonrpc', function () {
7 | describe('toPayload', function () {
8 | it('should create basic payload', function () {
9 |
10 | // given
11 | var method = 'helloworld';
12 |
13 | // when
14 | var payload = jsonrpc.toPayload(method);
15 |
16 | // then
17 | assert.equal(payload.jsonrpc, '2.0');
18 | assert.equal(payload.method, method);
19 | assert.equal(payload.params instanceof Array, true);
20 | assert.equal(payload.params.length, 0);
21 | assert.equal(typeof payload.id, 'number');
22 | });
23 |
24 | it('should create payload with params', function () {
25 |
26 | // given
27 | var method = 'helloworld1';
28 | var params = [123, 'test'];
29 |
30 | // when
31 | var payload = jsonrpc.toPayload(method, params);
32 |
33 | // then
34 | assert.equal(payload.jsonrpc, '2.0');
35 | assert.equal(payload.method, method);
36 | assert.equal(payload.params.length, 2);
37 | assert.equal(payload.params[0], params[0]);
38 | assert.equal(payload.params[1], params[1]);
39 | assert.equal(typeof payload.id, 'number');
40 | });
41 | });
42 | });
43 |
--------------------------------------------------------------------------------
/www/lib/web3/test/method.extractCallback.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var assert = chai.assert;
3 | var Method = require('../lib/web3/method');
4 |
5 | describe('lib/web3/method', function () {
6 | describe('extractCallback', function () {
7 | it('should extract callback', function () {
8 |
9 | // given
10 | var method = new Method({});
11 | var callback = function () { };
12 | var args = [1, callback]
13 |
14 | // when
15 | var result = method.extractCallback(args);
16 |
17 | // then
18 | assert.equal(args.length, 1);
19 | assert.equal(callback, result);
20 | });
21 |
22 | it('should extract callback created using newFunction', function () {
23 |
24 | // given
25 | var method = new Method({});
26 | var callback = new Function ();
27 | var args = [1, callback]
28 |
29 | // when
30 | var result = method.extractCallback(args);
31 |
32 | // then
33 | assert.equal(args.length, 1);
34 | assert.equal(callback, result);
35 | });
36 |
37 | it('should not extract the callback', function () {
38 |
39 | // given
40 | var method = new Method({});
41 | var args = [1, 2]
42 |
43 | // when
44 | var result = method.extractCallback(args);
45 |
46 | // then
47 | assert.equal(args.length, 2);
48 | assert.equal(result, null);
49 | });
50 | });
51 | });
52 |
53 |
--------------------------------------------------------------------------------
/www/lib/web3/test/method.formatInput.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var assert = chai.assert;
3 | var Method = require('../lib/web3/method');
4 |
5 | describe('lib/web3/method', function () {
6 | describe('formatInput', function () {
7 | it('should format plain input', function () {
8 |
9 | // given
10 | var star = function (arg) {
11 | return arg + '*';
12 | };
13 |
14 | var method = new Method({
15 | inputFormatter: [star, star, star]
16 | });
17 | var args = ['1','2','3'];
18 | var expectedArgs = ['1*', '2*', '3*'];
19 |
20 | // when
21 | var result = method.formatInput(args);
22 |
23 | // then
24 | assert.deepEqual(result, expectedArgs);
25 | });
26 |
27 | it('should do nothing if there is no formatter', function () {
28 |
29 | // given
30 | var method = new Method({});
31 | var args = [1,2,3];
32 |
33 | // when
34 | var result = method.formatInput(args);
35 |
36 | // then
37 | assert.deepEqual(result, args);
38 | });
39 | });
40 | });
41 |
42 |
--------------------------------------------------------------------------------
/www/lib/web3/test/method.formatOutput.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var assert = chai.assert;
3 | var Method = require('../lib/web3/method');
4 |
5 | describe('lib/web3/method', function () {
6 | describe('formatOutput', function () {
7 | it('should format plain output', function () {
8 |
9 | // given
10 | var formatter = function (args) {
11 | return args.map(function (arg) {
12 | return arg + '*';
13 | });
14 | };
15 |
16 | var method = new Method({
17 | outputFormatter: formatter
18 | });
19 | var args = ['1','2','3'];
20 | var expectedArgs = ['1*', '2*', '3*'];
21 |
22 | // when
23 | var result = method.formatOutput(args);
24 |
25 | // then
26 | assert.deepEqual(result, expectedArgs);
27 | });
28 |
29 | it('should do nothing if there is no formatter', function () {
30 |
31 | // given
32 | var method = new Method({});
33 | var args = [1,2,3];
34 |
35 | // when
36 | var result = method.formatOutput(args);
37 |
38 | // then
39 | assert.deepEqual(result, args);
40 | });
41 | });
42 | });
43 |
44 |
--------------------------------------------------------------------------------
/www/lib/web3/test/method.getCall.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var assert = chai.assert;
3 | var Method = require('../lib/web3/method');
4 |
5 | describe('lib/web3/method', function () {
6 | describe('getCall', function () {
7 | it('should return call name', function () {
8 |
9 | // given
10 | var call = 'hello_call_world';
11 | var method = new Method({
12 | call: call
13 | });
14 |
15 | // when
16 | var result = method.getCall();
17 |
18 | // then
19 | assert.equal(call, result);
20 | });
21 |
22 | it('should return call based on args', function () {
23 |
24 | // given
25 | var call = function (args) {
26 | return args ? args.length.toString() : '0';
27 | };
28 |
29 | var method = new Method({
30 | call: call
31 | });
32 |
33 | // when
34 | var r0 = method.getCall();
35 | var r1 = method.getCall([1]);
36 | var r2 = method.getCall([1, 2]);
37 |
38 | // then
39 | assert.equal(r0, '0');
40 | assert.equal(r1, '1');
41 | assert.equal(r2, '2');
42 |
43 | });
44 | });
45 | });
46 |
47 |
--------------------------------------------------------------------------------
/www/lib/web3/test/method.validateArgs.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var assert = chai.assert;
3 | var Method = require('../lib/web3/method');
4 | var errors = require('../lib/web3/errors');
5 |
6 | describe('lib/web3/method', function () {
7 | describe('validateArgs', function () {
8 | it('should pass', function () {
9 |
10 | // given
11 | var method = new Method({
12 | params: 1
13 | });
14 |
15 | var args = [1];
16 | var args2 = ['heloas'];
17 |
18 | // when
19 | var test = function () { method.validateArgs(args); };
20 | var test2 = function () { method.validateArgs(args2); };
21 |
22 | // then
23 | assert.doesNotThrow(test);
24 | assert.doesNotThrow(test2);
25 | });
26 |
27 | it('should return call based on args', function () {
28 |
29 | // given
30 | var method = new Method({
31 | params: 2
32 | });
33 |
34 | var args = [1];
35 | var args2 = ['heloas', '12', 3];
36 |
37 | // when
38 | var test = function () { method.validateArgs(args); };
39 | var test2 = function () { method.validateArgs(args2); };
40 |
41 | // then
42 | assert.throws(test, errors.InvalidNumberOfParams().message);
43 | assert.throws(test2, errors.InvalidNumberOfParams().message);
44 | });
45 | });
46 | });
47 |
48 |
--------------------------------------------------------------------------------
/www/lib/web3/test/mocha.opts:
--------------------------------------------------------------------------------
1 | --reporter spec
2 |
--------------------------------------------------------------------------------
/www/lib/web3/test/node/app.js:
--------------------------------------------------------------------------------
1 | var web3 = require('web3');
2 |
3 | console.log(web3.version.api);
4 |
5 |
6 |
--------------------------------------------------------------------------------
/www/lib/web3/test/requestmanager.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var assert = chai.assert;
3 | var RequestManager = require('../lib/web3/requestmanager');
4 | var FakeHttpProvider = require('./helpers/FakeHttpProvider');
5 |
6 | // TODO: handling errors!
7 | // TODO: validation of params!
8 |
9 | describe('lib/web3/requestmanager', function () {
10 | describe('send', function () {
11 | it('should return expected result synchronously', function () {
12 | var provider = new FakeHttpProvider();
13 | var manager = new RequestManager(provider);
14 | var expected = 'hello_world';
15 | provider.injectResult(expected);
16 |
17 | var result = manager.send({
18 | method: 'test',
19 | params: [1,2,3]
20 | });
21 |
22 | assert.equal(expected, result);
23 | });
24 |
25 | it('should return expected result asynchronously', function (done) {
26 | var provider = new FakeHttpProvider();
27 | var manager = new RequestManager(provider);
28 | var expected = 'hello_world';
29 | provider.injectResult(expected);
30 |
31 | manager.sendAsync({
32 | method: 'test',
33 | params: [1,2,3]
34 | }, function (error, result) {
35 | assert.equal(error, null);
36 | assert.equal(expected, result);
37 | done();
38 | });
39 | });
40 | });
41 | });
42 |
43 |
--------------------------------------------------------------------------------
/www/lib/web3/test/sha3.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var assert = chai.assert;
3 | var sha3 = require('../lib/utils/sha3');
4 | var web3 = require('../index');
5 |
6 | describe('lib/utils/sha3', function () {
7 | var test = function (v, e, o) {
8 | it('should encode ' + v + ' to ' + e, function () {
9 | assert.equal(sha3(v, o), e);
10 | });
11 | };
12 |
13 | test('test123', 'f81b517a242b218999ec8eec0ea6e2ddbef2a367a14e93f4a32a39e260f686ad');
14 | test('test(int)', 'f4d03772bec1e62fbe8c5691e1a9101e520e8f8b5ca612123694632bf3cb51b1');
15 | test('0x80', '56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421', { encoding: 'hex' });
16 | test('0x80', '6b03a5eef7706e3fb52a61c19ab1122fad7237726601ac665bd4def888f0e4a0');
17 | test('0x3c9229289a6125f7fdf1885a77bb12c37a8d3b4962d936f7e3084dece32a3ca1', '82ff40c0a986c6a5cfad4ddf4c3aa6996f1a7837f9c398e17e5de5cbd5a12b28', { encoding: 'hex' });
18 | });
19 |
20 |
--------------------------------------------------------------------------------
/www/lib/web3/test/utils.extractDisplayName.js:
--------------------------------------------------------------------------------
1 | var assert = require('assert');
2 | var utils = require('../lib/utils/utils.js');
3 |
4 | describe('lib/utils/utils', function () {
5 | describe('extractDisplayName', function () {
6 | it('should extract display name from method with no params', function () {
7 |
8 | // given
9 | var test = 'helloworld()';
10 |
11 | // when
12 | var displayName = utils.extractDisplayName(test);
13 |
14 | // then
15 | assert.equal(displayName, 'helloworld');
16 | });
17 |
18 | it('should extract display name from method with one param' , function () {
19 |
20 | // given
21 | var test = 'helloworld1(int)';
22 |
23 | // when
24 | var displayName = utils.extractDisplayName(test);
25 |
26 | // then
27 | assert.equal(displayName, 'helloworld1');
28 | });
29 |
30 | it('should extract display name from method with two params' , function () {
31 |
32 | // given
33 | var test = 'helloworld2(int,string)';
34 |
35 | // when
36 | var displayName = utils.extractDisplayName(test);
37 |
38 | // then
39 | assert.equal(displayName, 'helloworld2');
40 | });
41 | });
42 | });
43 |
--------------------------------------------------------------------------------
/www/lib/web3/test/utils.extractTypeName.js:
--------------------------------------------------------------------------------
1 | var assert = require('assert');
2 | var utils = require('../lib/utils/utils.js');
3 |
4 | describe('lib/utils/utils', function () {
5 | describe('extractTypeName', function () {
6 | it('should extract type name from method with no params', function () {
7 |
8 | // given
9 | var test = 'helloworld()';
10 |
11 | // when
12 | var typeName = utils.extractTypeName(test);
13 |
14 | // then
15 | assert.equal(typeName, '');
16 | });
17 |
18 | it('should extract type name from method with one param', function () {
19 |
20 | // given
21 | var test = 'helloworld1(int)';
22 |
23 | // when
24 | var typeName = utils.extractTypeName(test);
25 |
26 | // then
27 | assert.equal(typeName, 'int');
28 | });
29 |
30 | it('should extract type name from method with two params', function () {
31 |
32 | // given
33 | var test = 'helloworld2(int,string)';
34 |
35 | // when
36 | var typeName = utils.extractTypeName(test);
37 |
38 | // then
39 | assert.equal(typeName, 'int,string');
40 | });
41 |
42 | it('should extract type name from method with spaces between params', function () {
43 |
44 | // given
45 | var test = 'helloworld3(int, string)';
46 |
47 | // when
48 | var typeName = utils.extractTypeName(test);
49 |
50 | // then
51 | assert.equal(typeName, 'int,string');
52 | });
53 |
54 | });
55 | });
56 |
--------------------------------------------------------------------------------
/www/lib/web3/test/utils.fromAscii.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var BigNumber = require('bignumber.js');
3 | var utils = require('../lib/utils/utils.js');
4 | var assert = chai.assert;
5 |
6 | var tests = [
7 | { value: 'myString', expected: '0x6d79537472696e67'},
8 | { value: 'myString\x00', expected: '0x6d79537472696e6700'},
9 | { value: '\u0003\u0000\u0000\u00005èÆÕL]\u0012|ξ\u001a7«\u00052\u0011(ÐY\n<\u0010\u0000\u0000\u0000\u0000\u0000\u0000e!ßd/ñõì\f:z¦Î¦±ç·÷Í¢Ëß\u00076*
\bñùC1ÉUÀé2\u001aÓB',
10 | expected: '0x0300000035e8c6d54c5d127c9dcebe9e1a37ab9b05321128d097590a3c100000000000006521df642ff1f5ec0c3a7aa6cea6b1e7b7f7cda2cbdf07362a85088e97f19ef94331c955c0e9321ad386428c'}
11 | ];
12 |
13 | describe('lib/utils/utils', function () {
14 | describe('fromAscii', function () {
15 | tests.forEach(function (test) {
16 | it('should turn ' + test.value + ' to ' + test.expected, function () {
17 | assert.strictEqual(utils.fromAscii(test.value), test.expected);
18 | });
19 | });
20 | });
21 | });
22 |
--------------------------------------------------------------------------------
/www/lib/web3/test/utils.fromDecimal.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var utils = require('../lib/utils/utils.js');
3 | var assert = chai.assert;
4 |
5 | var tests = [
6 | { value: 1, expected: '0x1' },
7 | { value: '1', expected: '0x1' },
8 | { value: '0x1', expected: '0x1'},
9 | { value: '0x01', expected: '0x1'},
10 | { value: 15, expected: '0xf'},
11 | { value: '15', expected: '0xf'},
12 | { value: '0xf', expected: '0xf'},
13 | { value: '0x0f', expected: '0xf'},
14 | { value: -1, expected: '-0x1'},
15 | { value: '-1', expected: '-0x1'},
16 | { value: '-0x1', expected: '-0x1'},
17 | { value: '-0x01', expected: '-0x1'},
18 | { value: -15, expected: '-0xf'},
19 | { value: '-15', expected: '-0xf'},
20 | { value: '-0xf', expected: '-0xf'},
21 | { value: '-0x0f', expected: '-0xf'},
22 | { value: '0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', expected: '0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff'},
23 | { value: '0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd', expected: '0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd'},
24 | { value: '-0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', expected: '-0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff'},
25 | { value: '-0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd', expected: '-0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd'},
26 | { value: 0, expected: '0x0'},
27 | { value: '0', expected: '0x0'},
28 | { value: '0x0', expected: '0x0'},
29 | { value: -0, expected: '0x0'},
30 | { value: '-0', expected: '0x0'},
31 | { value: '-0x0', expected: '0x0'}
32 | ];
33 |
34 | describe('lib/utils/utils', function () {
35 | describe('fromDecimal', function () {
36 | tests.forEach(function (test) {
37 | it('should turn ' + test.value + ' to ' + test.expected, function () {
38 | assert.equal(utils.fromDecimal(test.value), test.expected);
39 | });
40 | });
41 | });
42 | });
43 |
44 |
--------------------------------------------------------------------------------
/www/lib/web3/test/utils.fromUtf8.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var BigNumber = require('bignumber.js');
3 | var utils = require('../lib/utils/utils.js');
4 | var assert = chai.assert;
5 |
6 | var tests = [
7 | { value: 'myString', expected: '0x6d79537472696e67'},
8 | { value: 'myString\x00', expected: '0x6d79537472696e67'},
9 | { value: 'expected value\u0000\u0000\u0000', expected: '0x65787065637465642076616c7565'}
10 | ];
11 |
12 | describe('lib/utils/utils', function () {
13 | describe('fromUtf8', function () {
14 | tests.forEach(function (test) {
15 | it('should turn ' + test.value + ' to ' + test.expected, function () {
16 | assert.strictEqual(utils.fromUtf8(test.value), test.expected);
17 | });
18 | });
19 | });
20 | });
21 |
--------------------------------------------------------------------------------
/www/lib/web3/test/utils.fromWei.js:
--------------------------------------------------------------------------------
1 | var assert = require('assert');
2 | var utils = require('../lib/utils/utils.js');
3 |
4 | describe('lib/utils/utils', function () {
5 | describe('fromWei', function () {
6 | it('should return the correct value', function () {
7 |
8 | assert.equal(utils.fromWei(1000000000000000000, 'wei'), '1000000000000000000');
9 | assert.equal(utils.fromWei(1000000000000000000, 'kwei'), '1000000000000000');
10 | assert.equal(utils.fromWei(1000000000000000000, 'mwei'), '1000000000000');
11 | assert.equal(utils.fromWei(1000000000000000000, 'gwei'), '1000000000');
12 | assert.equal(utils.fromWei(1000000000000000000, 'szabo'), '1000000');
13 | assert.equal(utils.fromWei(1000000000000000000, 'finney'), '1000');
14 | assert.equal(utils.fromWei(1000000000000000000, 'ether'), '1');
15 | assert.equal(utils.fromWei(1000000000000000000, 'kether'), '0.001');
16 | assert.equal(utils.fromWei(1000000000000000000, 'grand'), '0.001');
17 | assert.equal(utils.fromWei(1000000000000000000, 'mether'), '0.000001');
18 | assert.equal(utils.fromWei(1000000000000000000, 'gether'), '0.000000001');
19 | assert.equal(utils.fromWei(1000000000000000000, 'tether'), '0.000000000001');
20 | });
21 | });
22 | });
23 |
--------------------------------------------------------------------------------
/www/lib/web3/test/utils.isAddress.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var utils = require('../lib/utils/utils.js');
3 | var assert = chai.assert;
4 |
5 | var tests = [
6 | { value: function () {}, is: false},
7 | { value: new Function(), is: false},
8 | { value: 'function', is: false},
9 | { value: {}, is: false},
10 | { value: '0xc6d9d2cd449a754c494264e1809c50e34d64562b', is: true },
11 | { value: 'c6d9d2cd449a754c494264e1809c50e34d64562b', is: true }
12 | ];
13 |
14 | describe('lib/utils/utils', function () {
15 | describe('isAddress', function () {
16 | tests.forEach(function (test) {
17 | it('shoud test if value ' + test.value + ' is address: ' + test.is, function () {
18 | assert.equal(utils.isAddress(test.value), test.is);
19 | });
20 | });
21 | });
22 | });
23 |
24 |
--------------------------------------------------------------------------------
/www/lib/web3/test/utils.isBigNumber.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var utils = require('../lib/utils/utils.js');
3 | var BigNumber = require('bignumber.js');
4 | var assert = chai.assert;
5 |
6 | var tests = [
7 | { value: function () {}, is: false},
8 | { value: new Function(), is: false},
9 | { value: 'function', is: false},
10 | { value: {}, is: false},
11 | { value: new String('hello'), is: false},
12 | { value: new BigNumber(0), is: true},
13 | { value: 132, is: false},
14 | { value: '0x12', is: false},
15 |
16 | ];
17 |
18 | describe('lib/utils/utils', function () {
19 | describe('isBigNumber', function () {
20 | tests.forEach(function (test) {
21 | it('shoud test if value ' + test.func + ' is BigNumber: ' + test.is, function () {
22 | assert.equal(utils.isBigNumber(test.value), test.is);
23 | });
24 | });
25 | });
26 | });
27 |
--------------------------------------------------------------------------------
/www/lib/web3/test/utils.isFunction.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var utils = require('../lib/utils/utils.js');
3 | var assert = chai.assert;
4 |
5 | var tests = [
6 | { func: function () {}, is: true},
7 | { func: new Function(), is: true},
8 | { func: 'function', is: false},
9 | { func: {}, is: false}
10 | ];
11 |
12 | describe('lib/utils/utils', function () {
13 | describe('isFunction', function () {
14 | tests.forEach(function (test) {
15 | it('shoud test if value ' + test.func + ' is function: ' + test.is, function () {
16 | assert.equal(utils.isFunction(test.func), test.is);
17 | });
18 | });
19 | });
20 | });
21 |
22 |
--------------------------------------------------------------------------------
/www/lib/web3/test/utils.isJson.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var utils = require('../lib/utils/utils.js');
3 | var assert = chai.assert;
4 |
5 | var tests = [
6 | { obj: function () {}, is: false},
7 | { obj: new Function(), is: false},
8 | { obj: 'function', is: false},
9 | { obj: {}, is: false},
10 | { obj: '[]', is: true},
11 | { obj: '[1, 2]', is: true},
12 | { obj: '{}', is: true},
13 | { obj: '{"a": 123, "b" :3,}', is: false},
14 | { obj: '{"c" : 2}', is: true}
15 | ];
16 |
17 | describe('lib/utils/utils', function () {
18 | describe('isJson', function () {
19 | tests.forEach(function (test) {
20 | it('shoud test if value ' + test.obj + ' is json: ' + test.is, function () {
21 | assert.equal(utils.isJson(test.obj), test.is);
22 | });
23 | });
24 | });
25 | });
26 |
27 |
--------------------------------------------------------------------------------
/www/lib/web3/test/utils.isStrictAddress.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var utils = require('../lib/utils/utils.js');
3 | var assert = chai.assert;
4 |
5 | var tests = [
6 | { value: function () {}, is: false},
7 | { value: new Function(), is: false},
8 | { value: 'function', is: false},
9 | { value: {}, is: false},
10 | { value: '0xc6d9d2cd449a754c494264e1809c50e34d64562b', is: true },
11 | { value: 'c6d9d2cd449a754c494264e1809c50e34d64562b', is: false }
12 | ];
13 |
14 | describe('lib/utils/utils', function () {
15 | describe('isStrictAddress', function () {
16 | tests.forEach(function (test) {
17 | it('shoud test if value ' + test.value + ' is address: ' + test.is, function () {
18 | assert.equal(utils.isStrictAddress(test.value), test.is);
19 | });
20 | });
21 | });
22 | });
23 |
24 |
--------------------------------------------------------------------------------
/www/lib/web3/test/utils.isString.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var utils = require('../lib/utils/utils.js');
3 | var assert = chai.assert;
4 |
5 | var tests = [
6 | { value: function () {}, is: false},
7 | { value: new Function(), is: false},
8 | { value: 'function', is: true},
9 | { value: {}, is: false},
10 | { value: new String('hello'), is: true}
11 | ];
12 |
13 | describe('lib/utils/utils', function () {
14 | describe('isString', function () {
15 | tests.forEach(function (test) {
16 | it('shoud test if value ' + test.func + ' is string: ' + test.is, function () {
17 | assert.equal(utils.isString(test.value), test.is);
18 | });
19 | });
20 | });
21 | });
22 |
23 |
--------------------------------------------------------------------------------
/www/lib/web3/test/utils.toAscii.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var BigNumber = require('bignumber.js');
3 | var utils = require('../lib/utils/utils.js');
4 | var assert = chai.assert;
5 |
6 | var tests = [
7 | { value: '0x6d79537472696e67', expected: 'myString'},
8 | { value: '0x6d79537472696e6700', expected: 'myString\u0000'},
9 | { value: "0x0300000035e8c6d54c5d127c9dcebe9e1a37ab9b05321128d097590a3c100000000000006521df642ff1f5ec0c3a7aa6cea6b1e7b7f7cda2cbdf07362a85088e97f19ef94331c955c0e9321ad386428c",
10 | expected: '\u0003\u0000\u0000\u00005èÆÕL]\u0012|ξ\u001a7«\u00052\u0011(ÐY\n<\u0010\u0000\u0000\u0000\u0000\u0000\u0000e!ßd/ñõì\f:z¦Î¦±ç·÷Í¢Ëß\u00076*
\bñùC1ÉUÀé2\u001aÓB'}
11 | ];
12 |
13 | describe('lib/utils/utils', function () {
14 | describe('toAscii', function () {
15 | tests.forEach(function (test) {
16 | it('should turn ' + test.value + ' to ' + test.expected, function () {
17 | assert.strictEqual(utils.toAscii(test.value), test.expected);
18 | });
19 | });
20 | });
21 | });
22 |
--------------------------------------------------------------------------------
/www/lib/web3/test/utils.toBigNumber.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var utils = require('../lib/utils/utils.js');
3 | var BigNumber = require('bignumber.js');
4 | var assert = chai.assert;
5 |
6 | var tests = [
7 | { value: 1, expected: '1' },
8 | { value: '1', expected: '1' },
9 | { value: '0x1', expected: '1'},
10 | { value: '0x01', expected: '1'},
11 | { value: 15, expected: '15'},
12 | { value: '15', expected: '15'},
13 | { value: '0xf', expected: '15'},
14 | { value: '0x0f', expected: '15'},
15 | { value: new BigNumber('f', 16), expected: '15'},
16 | { value: -1, expected: '-1'},
17 | { value: '-1', expected: '-1'},
18 | { value: '-0x1', expected: '-1'},
19 | { value: '-0x01', expected: '-1'},
20 | { value: -15, expected: '-15'},
21 | { value: '-15', expected: '-15'},
22 | { value: '-0xf', expected: '-15'},
23 | { value: '-0x0f', expected: '-15'},
24 | { value: '0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', expected: '115792089237316195423570985008687907853269984665640564039457584007913129639935'},
25 | { value: '0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd', expected: '115792089237316195423570985008687907853269984665640564039457584007913129639933'},
26 | { value: '-0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', expected: '-115792089237316195423570985008687907853269984665640564039457584007913129639935'},
27 | { value: '-0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd', expected: '-115792089237316195423570985008687907853269984665640564039457584007913129639933'},
28 | { value: 0, expected: '0'},
29 | { value: '0', expected: '0'},
30 | { value: '0x0', expected: '0'},
31 | { value: -0, expected: '0'},
32 | { value: '-0', expected: '0'},
33 | { value: '-0x0', expected: '0'},
34 | { value: new BigNumber(0), expected: '0'}
35 | ];
36 |
37 | describe('lib/utils/utils', function () {
38 | describe('toBigNumber', function () {
39 | tests.forEach(function (test) {
40 | it('should turn ' + test.value + ' to ' + test.expected, function () {
41 | assert.equal(utils.toBigNumber(test.value).toString(10), test.expected);
42 | });
43 | });
44 | });
45 | });
46 |
--------------------------------------------------------------------------------
/www/lib/web3/test/utils.toDecimal.js:
--------------------------------------------------------------------------------
1 | var assert = require('assert');
2 | var utils = require('../lib/utils/utils.js');
3 |
4 | describe('lib/utils/utils', function () {
5 | describe('toDecimal', function () {
6 | it('should return the correct value', function () {
7 |
8 | assert.equal(utils.toDecimal("0x3e8"), '1000');
9 | // allow compatiblity
10 | assert.equal(utils.toDecimal(100000), '100000');
11 | assert.equal(utils.toDecimal('100000'), '100000');
12 | });
13 | });
14 | });
15 |
--------------------------------------------------------------------------------
/www/lib/web3/test/utils.toUtf8.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var BigNumber = require('bignumber.js');
3 | var utils = require('../lib/utils/utils.js');
4 | var assert = chai.assert;
5 |
6 | var tests = [
7 | { value: '0x6d79537472696e67', expected: 'myString'},
8 | { value: '0x6d79537472696e6700', expected: 'myString'},
9 | { value: '0x65787065637465642076616c7565000000000000000000000000000000000000', expected: 'expected value'}
10 | ];
11 |
12 | describe('lib/utils/utils', function () {
13 | describe('toUtf8', function () {
14 | tests.forEach(function (test) {
15 | it('should turn ' + test.value + ' to ' + test.expected, function () {
16 | assert.strictEqual(utils.toUtf8(test.value), test.expected);
17 | });
18 | });
19 | });
20 | });
21 |
--------------------------------------------------------------------------------
/www/lib/web3/test/utils.toWei.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var utils = require('../lib/utils/utils');
3 | var assert = chai.assert;
4 |
5 | describe('lib/utils/utils', function () {
6 | describe('toWei', function () {
7 | it('should return the correct value', function () {
8 |
9 | assert.equal(utils.toWei(1, 'wei'), '1');
10 | assert.equal(utils.toWei(1, 'kwei'), '1000');
11 | assert.equal(utils.toWei(1, 'mwei'), '1000000');
12 | assert.equal(utils.toWei(1, 'gwei'), '1000000000');
13 | assert.equal(utils.toWei(1, 'szabo'), '1000000000000');
14 | assert.equal(utils.toWei(1, 'finney'), '1000000000000000');
15 | assert.equal(utils.toWei(1, 'ether'), '1000000000000000000');
16 | assert.equal(utils.toWei(1, 'kether'), '1000000000000000000000');
17 | assert.equal(utils.toWei(1, 'grand'), '1000000000000000000000');
18 | assert.equal(utils.toWei(1, 'mether'), '1000000000000000000000000');
19 | assert.equal(utils.toWei(1, 'gether'), '1000000000000000000000000000');
20 | assert.equal(utils.toWei(1, 'tether'), '1000000000000000000000000000000');
21 |
22 | assert.equal(utils.toWei(1, 'kwei'), utils.toWei(1, 'femtoether'));
23 | assert.equal(utils.toWei(1, 'babbage'), utils.toWei(1, 'picoether'));
24 | assert.equal(utils.toWei(1, 'shannon'), utils.toWei(1, 'nanoether'));
25 | assert.equal(utils.toWei(1, 'szabo'), utils.toWei(1, 'microether'));
26 | assert.equal(utils.toWei(1, 'finney'), utils.toWei(1, 'milliether'));
27 | assert.equal(utils.toWei(1, 'milli'), utils.toWei(1, 'milliether'));
28 | assert.equal(utils.toWei(1, 'milli'), utils.toWei(1000, 'micro'));
29 |
30 | assert.throws(function () {utils.toWei(1, 'wei1');}, Error);
31 | });
32 | });
33 | });
34 |
--------------------------------------------------------------------------------
/www/lib/web3/test/web3.db.getHex.js:
--------------------------------------------------------------------------------
1 | var testMethod = require('./helpers/test.method.js');
2 |
3 | var method = 'getHex';
4 |
5 | var tests = [{
6 | args: ['myDB', 'myKey'],
7 | formattedArgs: ['myDB', 'myKey'],
8 | result: '0xf',
9 | formattedResult: '0xf',
10 | call: 'db_'+ method
11 | }];
12 |
13 | testMethod.runTests('db', method, tests);
14 |
15 |
--------------------------------------------------------------------------------
/www/lib/web3/test/web3.db.getString.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var testMethod = require('./helpers/test.method.js');
3 |
4 | var method = 'getString';
5 |
6 | var tests = [{
7 | args: ['myDB', 'myKey'],
8 | formattedArgs: ['myDB', 'myKey'],
9 | result: 'myValue',
10 | formattedResult: 'myValue',
11 | call: 'db_'+ method
12 | }];
13 |
14 | testMethod.runTests('db', method, tests);
15 |
16 |
--------------------------------------------------------------------------------
/www/lib/web3/test/web3.db.methods.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var assert = chai.assert;
3 | var Web3 = require('../index.js');
4 | var web3 = new Web3();
5 | var u = require('./helpers/test.utils.js');
6 |
7 | describe('web3.db', function() {
8 | describe('methods', function() {
9 | u.methodExists(web3.db, 'putHex');
10 | u.methodExists(web3.db, 'getHex');
11 | u.methodExists(web3.db, 'putString');
12 | u.methodExists(web3.db, 'getString');
13 | });
14 | });
15 |
16 |
--------------------------------------------------------------------------------
/www/lib/web3/test/web3.db.putHex.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var web3 = require('../index');
3 | var testMethod = require('./helpers/test.method.js');
4 |
5 | var method = 'putHex';
6 |
7 | var tests = [{
8 | args: ['myDB', 'myKey', '0xb'],
9 | formattedArgs: ['myDB', 'myKey', '0xb'],
10 | result: true,
11 | formattedResult: true,
12 | call: 'db_'+ method
13 | }];
14 |
15 | testMethod.runTests('db', method, tests);
16 |
17 |
--------------------------------------------------------------------------------
/www/lib/web3/test/web3.db.putString.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var web3 = require('../index');
3 | var testMethod = require('./helpers/test.method.js');
4 |
5 | var method = 'putString';
6 |
7 | var tests = [{
8 | args: ['myDB', 'myKey', 'myValue'],
9 | formattedArgs: ['myDB', 'myKey', 'myValue'],
10 | result: true,
11 | formattedResult: true,
12 | call: 'db_'+ method
13 | }];
14 |
15 | testMethod.runTests('db', method, tests);
16 |
17 |
--------------------------------------------------------------------------------
/www/lib/web3/test/web3.eth.accounts.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var assert = chai.assert;
3 | var Web3 = require('../index');
4 | var web3 = new Web3();
5 | var FakeHttpProvider = require('./helpers/FakeHttpProvider');
6 |
7 | var method = 'accounts';
8 |
9 | var tests = [{
10 | result: ['0x47d33b27bb249a2dbab4c0612bf9caf4c1950855'],
11 | formattedResult: ['0x47d33b27bb249a2dbab4c0612bf9caf4c1950855'],
12 | call: 'eth_'+ method
13 | }];
14 |
15 | describe('web3.eth', function () {
16 | describe(method, function () {
17 | tests.forEach(function (test, index) {
18 | it('property test: ' + index, function () {
19 |
20 | // given
21 | var provider = new FakeHttpProvider();
22 | web3.setProvider(provider);
23 | provider.injectResult(test.result);
24 | provider.injectValidation(function (payload) {
25 | assert.equal(payload.jsonrpc, '2.0');
26 | assert.equal(payload.method, test.call);
27 | assert.deepEqual(payload.params, []);
28 | });
29 |
30 | // when
31 | var result = web3.eth[method];
32 |
33 | // then
34 | assert.deepEqual(test.formattedResult, result);
35 | });
36 | });
37 | });
38 | });
39 |
40 |
--------------------------------------------------------------------------------
/www/lib/web3/test/web3.eth.blockNumber.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var assert = chai.assert;
3 | var Web3 = require('../index');
4 | var web3 = new Web3();
5 | var FakeHttpProvider = require('./helpers/FakeHttpProvider');
6 |
7 | var method = 'blockNumber';
8 |
9 | var tests = [{
10 | result: '0xb',
11 | formattedResult: 11,
12 | call: 'eth_'+ method
13 | }];
14 |
15 | describe('web3.eth', function () {
16 | describe(method, function () {
17 | tests.forEach(function (test, index) {
18 | it('property test: ' + index, function () {
19 |
20 | // given
21 | var provider = new FakeHttpProvider();
22 | web3.setProvider(provider);
23 | provider.injectResult(test.result);
24 | provider.injectValidation(function (payload) {
25 | assert.equal(payload.jsonrpc, '2.0');
26 | assert.equal(payload.method, test.call);
27 | assert.deepEqual(payload.params, []);
28 | });
29 |
30 | // when
31 | var result = web3.eth[method];
32 |
33 | // then
34 | assert.strictEqual(test.formattedResult, result);
35 | });
36 |
37 | it('async get property test: ' + index, function (done) {
38 |
39 | // given
40 | var provider = new FakeHttpProvider();
41 | web3.setProvider(provider);
42 | provider.injectResult(test.result);
43 | provider.injectValidation(function (payload) {
44 | assert.equal(payload.jsonrpc, '2.0');
45 | assert.equal(payload.method, test.call);
46 | assert.deepEqual(payload.params, []);
47 | });
48 |
49 | // when
50 | web3.eth.getBlockNumber(function (err, result) {
51 | assert.strictEqual(test.formattedResult, result);
52 | done();
53 | });
54 |
55 | });
56 | });
57 | });
58 | });
59 |
60 |
--------------------------------------------------------------------------------
/www/lib/web3/test/web3.eth.call.js:
--------------------------------------------------------------------------------
1 | var testMethod = require('./helpers/test.method.js');
2 |
3 | var method = 'call';
4 |
5 | var tests = [{
6 | args: [{
7 | to: '0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b',
8 | data: '0x23455654',
9 | gas: 11,
10 | gasPrice: 11
11 | }],
12 | formattedArgs: [{
13 | to: '0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b',
14 | data: '0x23455654',
15 | gas: '0xb',
16 | gasPrice: '0xb'
17 | }, 'latest'],
18 | result: '0x31981',
19 | formattedResult: '0x31981',
20 | call: 'eth_'+ method
21 | },{
22 | args: [{
23 | to: '0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b',
24 | data: '0x23455654',
25 | gas: 11,
26 | gasPrice: 11
27 | }, 11],
28 | formattedArgs: [{
29 | to: '0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b',
30 | data: '0x23455654',
31 | gas: '0xb',
32 | gasPrice: '0xb'
33 | }, '0xb'],
34 | result: '0x31981',
35 | formattedResult: '0x31981',
36 | call: 'eth_'+ method
37 | }];
38 |
39 | testMethod.runTests('eth', method, tests);
40 |
41 |
--------------------------------------------------------------------------------
/www/lib/web3/test/web3.eth.coinbase.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var assert = chai.assert;
3 | var Web3 = require('../index');
4 | var web3 = new Web3();
5 | var FakeHttpProvider = require('./helpers/FakeHttpProvider');
6 |
7 | var method = 'coinbase';
8 |
9 | var tests = [{
10 | result: '0x47d33b27bb249a2dbab4c0612bf9caf4c1950855',
11 | formattedResult: '0x47d33b27bb249a2dbab4c0612bf9caf4c1950855',
12 | call: 'eth_'+ method
13 | }];
14 |
15 | describe('web3.eth', function () {
16 | describe(method, function () {
17 | tests.forEach(function (test, index) {
18 | it('property test: ' + index, function () {
19 |
20 | // given
21 | var provider = new FakeHttpProvider();
22 | web3.setProvider(provider);
23 | provider.injectResult(test.result);
24 | provider.injectValidation(function (payload) {
25 | assert.equal(payload.jsonrpc, '2.0');
26 | assert.equal(payload.method, test.call);
27 | assert.deepEqual(payload.params, []);
28 | });
29 |
30 | // when
31 | var result = web3.eth[method];
32 |
33 | // then
34 | assert.deepEqual(test.formattedResult, result);
35 | });
36 | });
37 | });
38 | });
39 |
40 |
--------------------------------------------------------------------------------
/www/lib/web3/test/web3.eth.defaultBlock.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var assert = chai.assert;
3 | var Web3 = require('../index');
4 | var web3 = new Web3();
5 |
6 | describe('web3.eth', function () {
7 | describe('defaultBlock', function () {
8 | it('should check if defaultBlock is set to proper value', function () {
9 | assert.equal(web3.eth.defaultBlock, 'latest');
10 | });
11 | });
12 | });
13 |
14 |
--------------------------------------------------------------------------------
/www/lib/web3/test/web3.eth.estimateGas.js:
--------------------------------------------------------------------------------
1 | var web3 = require('../index');
2 | var testMethod = require('./helpers/test.method.js');
3 |
4 | var method = 'estimateGas';
5 |
6 | var tests = [{
7 | args: [{
8 | to: '0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b',
9 | data: '0x23455654',
10 | gas: 11,
11 | gasPrice: 11
12 | }],
13 | formattedArgs: [{
14 | to: '0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b',
15 | data: '0x23455654',
16 | gas: '0xb',
17 | gasPrice: '0xb'
18 | }],
19 | result: '0x31981',
20 | formattedResult: 203137,
21 | call: 'eth_'+ method
22 | }];
23 |
24 | testMethod.runTests('eth', method, tests);
25 |
26 |
--------------------------------------------------------------------------------
/www/lib/web3/test/web3.eth.gasPrice.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var assert = chai.assert;
3 | var Web3 = require('../index');
4 | var web3 = new Web3();
5 | var BigNumber = require('bignumber.js');
6 | var FakeHttpProvider = require('./helpers/FakeHttpProvider');
7 |
8 | var method = 'gasPrice';
9 |
10 | var tests = [{
11 | result: '0x15f90',
12 | formattedResult: new BigNumber(90000),
13 | call: 'eth_'+ method
14 | }];
15 |
16 | describe('web3.eth', function () {
17 | describe(method, function () {
18 | tests.forEach(function (test, index) {
19 | it('property test: ' + index, function () {
20 |
21 | // given
22 | var provider = new FakeHttpProvider();
23 | web3.setProvider(provider);
24 | provider.injectResult(test.result);
25 | provider.injectValidation(function (payload) {
26 | assert.equal(payload.jsonrpc, '2.0');
27 | assert.equal(payload.method, test.call);
28 | assert.deepEqual(payload.params, []);
29 | });
30 |
31 | // when
32 | var result = web3.eth[method];
33 |
34 | // then
35 | assert.deepEqual(test.formattedResult, result);
36 | });
37 | });
38 | });
39 | });
40 |
41 |
--------------------------------------------------------------------------------
/www/lib/web3/test/web3.eth.getBlockTransactionCount.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var web3 = require('../index');
3 | var testMethod = require('./helpers/test.method.js');
4 |
5 | var method = 'getBlockTransactionCount';
6 |
7 |
8 | var tests = [{
9 | args: ['0x47d33b27bb249a2dbab4c0612bf9caf4c1950855'],
10 | formattedArgs: ['0x47d33b27bb249a2dbab4c0612bf9caf4c1950855'],
11 | result: '0xb',
12 | formattedResult: 11,
13 | call: 'eth_getBlockTransactionCountByHash'
14 | },{
15 | args: [436],
16 | formattedArgs: ['0x1b4'],
17 | result: '0xb',
18 | formattedResult: 11,
19 | call: 'eth_getBlockTransactionCountByNumber'
20 | },{
21 | args: ['pending'],
22 | formattedArgs: ['pending'],
23 | result: '0xb',
24 | formattedResult: 11,
25 | call: 'eth_getBlockTransactionCountByNumber'
26 | }];
27 |
28 | testMethod.runTests('eth', method, tests);
29 |
30 |
--------------------------------------------------------------------------------
/www/lib/web3/test/web3.eth.getBlockUncleCount.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var web3 = require('../index');
3 | var method = 'getBlockUncleCount';
4 | var testMethod = require('./helpers/test.method.js');
5 |
6 |
7 | var tests = [{
8 | args: ['0x47d33b27bb249a2dbab4c0612bf9caf4c1950855'],
9 | formattedArgs: ['0x47d33b27bb249a2dbab4c0612bf9caf4c1950855'],
10 | result: '0xb',
11 | formattedResult: 11,
12 | call: 'eth_getUncleCountByBlockHash'
13 | },{
14 | args: [436],
15 | formattedArgs: ['0x1b4'],
16 | result: '0xb',
17 | formattedResult: 11,
18 | call: 'eth_getUncleCountByBlockNumber'
19 | },{
20 | args: ['pending'],
21 | formattedArgs: ['pending'],
22 | result: '0xb',
23 | formattedResult: 11,
24 | call: 'eth_getUncleCountByBlockNumber'
25 | }];
26 |
27 | testMethod.runTests('eth', method, tests);
28 |
--------------------------------------------------------------------------------
/www/lib/web3/test/web3.eth.getCode.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var Web3 = require('../index');
3 | var web3 = new Web3();
4 | var testMethod = require('./helpers/test.method.js');
5 |
6 | var method = 'getCode';
7 |
8 |
9 | var tests = [{
10 | args: ['0x47d33b27bb249a2dbab4c0612bf9caf4c1950855'],
11 | formattedArgs: ['0x47d33b27bb249a2dbab4c0612bf9caf4c1950855', web3.eth.defaultBlock],
12 | result: '0x47d33b27bb249a2dbab4c0612bf9caf4747d33b27bb249a2dbab4c0612bf9cafd33b27bb249a2dbab4c0612bf9caf4c1950855',
13 | formattedResult: '0x47d33b27bb249a2dbab4c0612bf9caf4747d33b27bb249a2dbab4c0612bf9cafd33b27bb249a2dbab4c0612bf9caf4c1950855',
14 | call: 'eth_'+ method
15 | },{
16 | args: ['0x47d33b27bb249a2dbab4c0612bf9caf4c1950855', 2],
17 | formattedArgs: ['0x47d33b27bb249a2dbab4c0612bf9caf4c1950855', '0x2'],
18 | result: '0x47d33b27bb249a2dbab4c0612bf9caf4747d33b27bb249a2dbab4c0612bf9cafd33b27bb249a2dbab4c0612bf9caf4c1950855',
19 | formattedResult: '0x47d33b27bb249a2dbab4c0612bf9caf4747d33b27bb249a2dbab4c0612bf9cafd33b27bb249a2dbab4c0612bf9caf4c1950855',
20 | call: 'eth_'+ method
21 | }];
22 |
23 | testMethod.runTests('eth', method, tests);
24 |
25 |
--------------------------------------------------------------------------------
/www/lib/web3/test/web3.eth.getCompilers.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var web3 = require('../index');
3 | var testMethod = require('./helpers/test.method.js');
4 |
5 | var method = 'getCompilers';
6 |
7 |
8 | var tests = [{
9 | args: [],
10 | formattedArgs: [],
11 | result: ['solidity'],
12 | formattedResult: ['solidity'],
13 | call: 'eth_'+ method
14 | },{
15 | args: [],
16 | formattedArgs: [],
17 | result: ['solidity'],
18 | formattedResult: ['solidity'],
19 | call: 'eth_'+ method
20 | }];
21 |
22 | testMethod.runTests('eth', method, tests);
23 |
24 |
--------------------------------------------------------------------------------
/www/lib/web3/test/web3.eth.getStorageAt.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var Web3 = require('../index');
3 | var web3 = new Web3();
4 | var testMethod = require('./helpers/test.method.js');
5 |
6 | var method = 'getStorageAt';
7 |
8 |
9 | var tests = [{
10 | args: ['0x47d33b27bb249a2dbab4c0612bf9caf4c1950855', 2],
11 | formattedArgs: ['0x47d33b27bb249a2dbab4c0612bf9caf4c1950855', '0x2', web3.eth.defaultBlock],
12 | result: '0x47d33b2',
13 | formattedResult: '0x47d33b2',
14 | call: 'eth_'+ method
15 | },{
16 | args: ['0x47d33b27bb249a2dbab4c0612bf9caf4c1950855', 2, 0],
17 | formattedArgs: ['0x47d33b27bb249a2dbab4c0612bf9caf4c1950855', '0x2', '0x0'],
18 | result: '0x47d33b27bb249a2dbab4c0612bf9caf4747d33b27bb249a2dbab4c0612bf9cafd33b27bb249a2dbab4c0612bf9caf4c1950855',
19 | formattedResult: '0x47d33b27bb249a2dbab4c0612bf9caf4747d33b27bb249a2dbab4c0612bf9cafd33b27bb249a2dbab4c0612bf9caf4c1950855',
20 | call: 'eth_'+ method
21 | },{
22 | args: ['0x47d33b27bb249a2dbab4c0612bf9caf4c1950855', 0xb, 0x0],
23 | formattedArgs: ['0x47d33b27bb249a2dbab4c0612bf9caf4c1950855', '0xb', '0x0'],
24 | result: '0x47d33b27bb249a2dbab4c0612bf9caf4747d33b27bb249a2dbab4c0612bf9cafd33b27bb249a2dbab4c0612bf9caf4c1950855',
25 | formattedResult: '0x47d33b27bb249a2dbab4c0612bf9caf4747d33b27bb249a2dbab4c0612bf9cafd33b27bb249a2dbab4c0612bf9caf4c1950855',
26 | call: 'eth_'+ method
27 | }, {
28 | args: ['0x47d33b27bb249a2dbab4c0612bf9caf4c1950855', 0xb, 'latest'],
29 | formattedArgs: ['0x47d33b27bb249a2dbab4c0612bf9caf4c1950855', '0xb', 'latest'],
30 | result: '0x47d33b27bb249a2dbab4c0612bf9caf4747d33b27bb249a2dbab4c0612bf9cafd33b27bb249a2dbab4c0612bf9caf4c1950855',
31 | formattedResult: '0x47d33b27bb249a2dbab4c0612bf9caf4747d33b27bb249a2dbab4c0612bf9cafd33b27bb249a2dbab4c0612bf9caf4c1950855',
32 | call: 'eth_'+ method
33 | }];
34 |
35 | testMethod.runTests('eth', method, tests);
36 |
37 |
--------------------------------------------------------------------------------
/www/lib/web3/test/web3.eth.getTransaction.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var web3 = require('../index');
3 | var BigNumber = require('bignumber.js');
4 | var testMethod = require('./helpers/test.method.js');
5 |
6 | var method = 'getTransaction';
7 |
8 | var txResult = {
9 | "hash":"0xc6ef2fc5426d6ad6fd9e2a26abeab0aa2411b7ab17f30a99d3cb96aed1d1055b",
10 | "nonce":"0x5",
11 | "blockHash": "0x6fd9e2a26ab",
12 | "blockNumber": "0x15df",
13 | "transactionIndex": "0x1",
14 | "from":"0x407d73d8a49eeb85d32cf465507dd71d507100c1",
15 | "to":"0x85h43d8a49eeb85d32cf465507dd71d507100c1",
16 | "value":"0x7f110",
17 | "gas": "0x7f110",
18 | "gasPrice":"0x09184e72a000",
19 | "input":"0x603880600c6000396000f30060"
20 | };
21 | var formattedTxResult = {
22 | "hash":"0xc6ef2fc5426d6ad6fd9e2a26abeab0aa2411b7ab17f30a99d3cb96aed1d1055b",
23 | "nonce":5,
24 | "blockHash": "0x6fd9e2a26ab",
25 | "blockNumber": 5599,
26 | "transactionIndex": 1,
27 | "from":"0x407d73d8a49eeb85d32cf465507dd71d507100c1",
28 | "to":"0x85h43d8a49eeb85d32cf465507dd71d507100c1",
29 | "value": new BigNumber(520464),
30 | "gas": 520464,
31 | "gasPrice": new BigNumber(10000000000000),
32 | "input":"0x603880600c6000396000f30060"
33 | };
34 |
35 | var tests = [{
36 | args: ['0x2dbab4c0612bf9caf4c195085547dc0612bf9caf4c1950855'],
37 | formattedArgs: ['0x2dbab4c0612bf9caf4c195085547dc0612bf9caf4c1950855'],
38 | result: txResult,
39 | formattedResult: formattedTxResult,
40 | call: 'eth_'+ method + 'ByHash'
41 | }];
42 |
43 | testMethod.runTests('eth', method, tests);
44 |
45 |
--------------------------------------------------------------------------------
/www/lib/web3/test/web3.eth.getTransactionFromBlock.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var web3 = require('../index');
3 | var BigNumber = require('bignumber.js');
4 | var testMethod = require('./helpers/test.method.js');
5 |
6 | var method = 'getTransactionFromBlock';
7 |
8 | var txResult = {
9 | "status": "mined",
10 | "hash":"0xc6ef2fc5426d6ad6fd9e2a26abeab0aa2411b7ab17f30a99d3cb96aed1d1055b",
11 | "nonce":"0xb",
12 | "blockHash": "0x6fd9e2a26ab",
13 | "blockNumber": "0x15df",
14 | "transactionIndex": "0x1",
15 | "from":"0x407d73d8a49eeb85d32cf465507dd71d507100c1",
16 | "to":"0x85h43d8a49eeb85d32cf465507dd71d507100c1",
17 | "value":"0x7f110",
18 | "gas": "0x7f110",
19 | "gasPrice":"0x09184e72a000",
20 | "input":"0x603880600c6000396000f30060"
21 | };
22 | var formattedTxResult = {
23 | "status": "mined",
24 | "hash":"0xc6ef2fc5426d6ad6fd9e2a26abeab0aa2411b7ab17f30a99d3cb96aed1d1055b",
25 | "nonce":11,
26 | "blockHash": "0x6fd9e2a26ab",
27 | "blockNumber": 5599,
28 | "transactionIndex": 1,
29 | "from":"0x407d73d8a49eeb85d32cf465507dd71d507100c1",
30 | "to":"0x85h43d8a49eeb85d32cf465507dd71d507100c1",
31 | "value": new BigNumber(520464),
32 | "gas": 520464,
33 | "gasPrice": new BigNumber(10000000000000),
34 | "input":"0x603880600c6000396000f30060"
35 | };
36 |
37 | var tests = [{
38 | args: ['0x2dbab4c0612bf9caf4c195085547dc0612bf9caf4c1950855', 2],
39 | formattedArgs: ['0x2dbab4c0612bf9caf4c195085547dc0612bf9caf4c1950855', '0x2'],
40 | result: txResult,
41 | formattedResult: formattedTxResult,
42 | call: 'eth_getTransactionByBlockHashAndIndex'
43 | },{
44 | args: [436, 11],
45 | formattedArgs: ['0x1b4', '0xb'],
46 | result: txResult,
47 | formattedResult: formattedTxResult,
48 | call: 'eth_getTransactionByBlockNumberAndIndex'
49 | }];
50 |
51 | testMethod.runTests('eth', method, tests);
52 |
53 |
--------------------------------------------------------------------------------
/www/lib/web3/test/web3.eth.getWork.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var web3 = require('../index');
3 | var testMethod = require('./helpers/test.method.js');
4 |
5 | var method = 'getWork';
6 |
7 | var tests = [{
8 | args: [],
9 | formattedArgs: [],
10 | result: true,
11 | formattedResult: true,
12 | call: 'eth_'+ method
13 | }];
14 |
15 | testMethod.runTests('eth', method, tests);
16 |
17 |
--------------------------------------------------------------------------------
/www/lib/web3/test/web3.eth.hashRate.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var assert = chai.assert;
3 | var Web3 = require('../index');
4 | var web3 = new Web3();
5 | var FakeHttpProvider = require('./helpers/FakeHttpProvider');
6 |
7 | var method = 'hashrate';
8 |
9 | var tests = [{
10 | result: '0x788a8',
11 | formattedResult: 493736,
12 | call: 'eth_'+ method
13 | }];
14 |
15 | describe('web3.eth', function () {
16 | describe(method, function () {
17 | tests.forEach(function (test, index) {
18 | it('property test: ' + index, function () {
19 |
20 | // given
21 | var provider = new FakeHttpProvider();
22 | web3.setProvider(provider);
23 | provider.injectResult(test.result);
24 | provider.injectValidation(function (payload) {
25 | assert.equal(payload.jsonrpc, '2.0');
26 | assert.equal(payload.method, test.call);
27 | assert.deepEqual(payload.params, []);
28 | });
29 |
30 | // when
31 | var result = web3.eth[method];
32 |
33 | // then
34 | assert.strictEqual(test.formattedResult, result);
35 |
36 | // clear the validation
37 | provider.injectValidation(function () {});
38 | web3.reset();
39 | });
40 | });
41 | });
42 | });
43 |
44 |
--------------------------------------------------------------------------------
/www/lib/web3/test/web3.eth.isSyncing.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var Web3 = require('../index');
3 | var assert = chai.assert;
4 | var FakeHttpProvider = require('./helpers/FakeHttpProvider');
5 |
6 | var method = 'isSyncing';
7 |
8 | var tests = [{
9 | args: [],
10 | formattedArgs: [],
11 | result: [{
12 | startingBlock: '0xb',
13 | currentBlock: '0xb',
14 | highestBlock: '0xb'
15 | }],
16 | formattedResult: {
17 | startingBlock: 11,
18 | currentBlock: 11,
19 | highestBlock: 11
20 | },
21 | call: 'eth_syncing'
22 | }];
23 |
24 | describe('eth', function () {
25 | describe(method, function () {
26 | tests.forEach(function (test, index) {
27 | it('property test: ' + index, function (done) {
28 | // given
29 | var provider = new FakeHttpProvider();
30 | var web3 = new Web3(provider);
31 | provider.injectBatchResults(test.result);
32 | provider.injectValidation(function(payload) {
33 | assert.equal(payload[0].jsonrpc, '2.0', 'failed');
34 | assert.equal(payload[0].method, test.call);
35 | assert.deepEqual(payload[0].params, test.formattedArgs);
36 | });
37 |
38 | var count = 1;
39 |
40 | // TODO results seem to be overwritten
41 |
42 |
43 | // call
44 | var syncing = web3.eth[method](function(e, res){
45 | if(count === 1) {
46 | assert.isTrue(res);
47 | count++;
48 | } else {
49 | assert.deepEqual(res, test.formattedResult);
50 | syncing.stopWatching();
51 | done();
52 | }
53 | });
54 |
55 | });
56 | });
57 | });
58 | });
59 |
60 |
--------------------------------------------------------------------------------
/www/lib/web3/test/web3.eth.methods.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var assert = chai.assert;
3 | var Web3 = require('../index.js');
4 | var web3 = new Web3();
5 | var u = require('./helpers/test.utils.js');
6 |
7 | describe('web3.eth', function() {
8 | describe('methods', function() {
9 | u.methodExists(web3.eth, 'getBalance');
10 | u.methodExists(web3.eth, 'getStorageAt');
11 | u.methodExists(web3.eth, 'getTransactionCount');
12 | u.methodExists(web3.eth, 'getCode');
13 | u.methodExists(web3.eth, 'sendTransaction');
14 | u.methodExists(web3.eth, 'call');
15 | u.methodExists(web3.eth, 'getBlock');
16 | u.methodExists(web3.eth, 'getTransaction');
17 | u.methodExists(web3.eth, 'getUncle');
18 | u.methodExists(web3.eth, 'getCompilers');
19 | u.methodExists(web3.eth.compile, 'lll');
20 | u.methodExists(web3.eth.compile, 'solidity');
21 | u.methodExists(web3.eth.compile, 'serpent');
22 | u.methodExists(web3.eth, 'getBlockTransactionCount');
23 | u.methodExists(web3.eth, 'getBlockUncleCount');
24 | u.methodExists(web3.eth, 'filter');
25 | u.methodExists(web3.eth, 'contract');
26 |
27 | u.propertyExists(web3.eth, 'coinbase');
28 | u.propertyExists(web3.eth, 'mining');
29 | u.propertyExists(web3.eth, 'gasPrice');
30 | u.propertyExists(web3.eth, 'accounts');
31 | u.propertyExists(web3.eth, 'defaultBlock');
32 | u.propertyExists(web3.eth, 'blockNumber');
33 | });
34 | });
35 |
36 |
--------------------------------------------------------------------------------
/www/lib/web3/test/web3.eth.mining.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var assert = chai.assert;
3 | var Web3 = require('../index');
4 | var web3 = new Web3();
5 | var FakeHttpProvider = require('./helpers/FakeHttpProvider');
6 |
7 | var method = 'mining';
8 |
9 | var tests = [{
10 | result: true,
11 | formattedResult: true,
12 | call: 'eth_'+ method
13 | }];
14 |
15 | describe('web3.eth', function () {
16 | describe(method, function () {
17 | tests.forEach(function (test, index) {
18 | it('property test: ' + index, function () {
19 |
20 | // given
21 | var provider = new FakeHttpProvider();
22 | web3.setProvider(provider);
23 | provider.injectResult(test.result);
24 | provider.injectValidation(function (payload) {
25 | assert.equal(payload.jsonrpc, '2.0');
26 | assert.equal(payload.method, test.call);
27 | assert.deepEqual(payload.params, []);
28 | });
29 |
30 | // when
31 | var result = web3.eth[method];
32 |
33 | // then
34 | assert.deepEqual(test.formattedResult, result);
35 | });
36 | });
37 | });
38 | });
39 |
40 |
--------------------------------------------------------------------------------
/www/lib/web3/test/web3.eth.sendIBANTransaction.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var assert = chai.assert;
3 | var Web3 = require('../index');
4 | var web3 = new Web3();
5 | var FakeHttpProvider2 = require('./helpers/FakeHttpProvider2');
6 |
7 | describe('web3.eth.sendIBANTransaction', function () {
8 | it('should send transaction', function () {
9 |
10 | var iban = 'XE81ETHXREGGAVOFYORK';
11 | var address = '0x1234567890123456789012345678901234500000';
12 | var exAddress = '0x1234567890123456789012345678901234567890'
13 |
14 | var provider = new FakeHttpProvider2();
15 | web3.setProvider(provider);
16 | web3.reset();
17 |
18 | provider.injectResultList([{
19 | result: exAddress
20 | }, {
21 | result: ''
22 | }]);
23 |
24 | var step = 0;
25 | provider.injectValidation(function (payload) {
26 | if (step === 0) {
27 | step++;
28 | assert.equal(payload.method, 'eth_call');
29 | assert.deepEqual(payload.params, [{
30 | data: "0x3b3b57de5852454700000000000000000000000000000000000000000000000000000000",
31 | to: web3.eth.icapNamereg().address
32 | }, "latest"]);
33 |
34 | return;
35 | }
36 | assert.equal(payload.method, 'eth_sendTransaction');
37 | assert.deepEqual(payload.params, [{
38 | data: '0xb214faa54741564f46594f524b0000000000000000000000000000000000000000000000',
39 | from: address,
40 | to: exAddress,
41 | value: payload.params[0].value // don't check this
42 | }]);
43 | });
44 |
45 | web3.eth.sendIBANTransaction(address, iban, 10000);
46 |
47 | });
48 | });
49 |
50 |
--------------------------------------------------------------------------------
/www/lib/web3/test/web3.eth.submitWork.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var web3 = require('../index');
3 | var testMethod = require('./helpers/test.method.js');
4 |
5 | var method = 'submitWork';
6 |
7 | var tests = [
8 | {
9 | args: ['0x567890abcdef5555', '0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef', '0xcdef1234567890abcdef1234567890abcdef0x1234567890abcf1234567890ab'],
10 | formattedArgs: ['0x567890abcdef5555', '0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef', '0xcdef1234567890abcdef1234567890abcdef0x1234567890abcf1234567890ab'],
11 | result: true,
12 | formattedResult: true,
13 | call: 'eth_'+ method
14 | }];
15 |
16 | testMethod.runTests('eth', method, tests);
17 |
18 |
--------------------------------------------------------------------------------
/www/lib/web3/test/web3.fromICAP.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var Web3 = require('../index');
3 | var web3 = new Web3();
4 | var assert = chai.assert;
5 |
6 | var tests = [
7 | { direct: 'XE7338O073KYGTWWZN0F2WZ0R8PX5ZPPZS', address: '00c5496aee77c1ba1f0854206a26dda82a81d6d8'}
8 | ];
9 |
10 | describe('web3', function () {
11 | describe('fromICAP', function () {
12 | tests.forEach(function (test) {
13 | it('shoud transform iban to address: ' + test.address, function () {
14 | assert.deepEqual(web3.fromICAP(test.direct), test.address);
15 | });
16 | });
17 | });
18 | });
19 |
20 |
--------------------------------------------------------------------------------
/www/lib/web3/test/web3.methods.js:
--------------------------------------------------------------------------------
1 | var Web3 = require('../index.js');
2 | var web3 = new Web3();
3 | var u = require('./helpers/test.utils.js');
4 |
5 | describe('web3', function() {
6 | describe('methods', function () {
7 | u.methodExists(web3, 'sha3');
8 | u.methodExists(web3, 'toAscii');
9 | u.methodExists(web3, 'fromAscii');
10 | u.methodExists(web3, 'toDecimal');
11 | u.methodExists(web3, 'fromDecimal');
12 | u.methodExists(web3, 'fromWei');
13 | u.methodExists(web3, 'toWei');
14 | u.methodExists(web3, 'toBigNumber');
15 | u.methodExists(web3, 'isAddress');
16 | u.methodExists(web3, 'setProvider');
17 | u.methodExists(web3, 'reset');
18 |
19 | u.propertyExists(web3, 'providers');
20 | u.propertyExists(web3, 'eth');
21 | u.propertyExists(web3, 'db');
22 | u.propertyExists(web3, 'shh');
23 | });
24 | });
25 |
26 |
--------------------------------------------------------------------------------
/www/lib/web3/test/web3.net.listening.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var assert = chai.assert;
3 | var Web3 = require('../index');
4 | var web3 = new Web3();
5 | var FakeHttpProvider = require('./helpers/FakeHttpProvider');
6 |
7 | var method = 'listening';
8 |
9 | var tests = [{
10 | result: true,
11 | formattedResult: true,
12 | call: 'net_'+ method
13 | }];
14 |
15 | describe('web3.net', function () {
16 | describe(method, function () {
17 | tests.forEach(function (test, index) {
18 | it('property test: ' + index, function () {
19 |
20 | // given
21 | var provider = new FakeHttpProvider();
22 | web3.setProvider(provider);
23 | provider.injectResult(test.result);
24 | provider.injectValidation(function (payload) {
25 | assert.equal(payload.jsonrpc, '2.0');
26 | assert.equal(payload.method, test.call);
27 | assert.deepEqual(payload.params, []);
28 | });
29 |
30 | // when
31 | var result = web3.net[method];
32 |
33 | // then
34 | assert.deepEqual(test.formattedResult, result);
35 | });
36 | });
37 | });
38 | });
39 |
40 |
--------------------------------------------------------------------------------
/www/lib/web3/test/web3.net.methods.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var assert = chai.assert;
3 | var Web3 = require('../index.js');
4 | var web3 = new Web3();
5 | var u = require('./helpers/test.utils.js');
6 |
7 | describe('web3.net', function() {
8 | describe('methods', function() {
9 | u.propertyExists(web3.net, 'listening');
10 | u.propertyExists(web3.net, 'peerCount');
11 | });
12 | });
13 |
--------------------------------------------------------------------------------
/www/lib/web3/test/web3.net.peerCount.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var assert = chai.assert;
3 | var Web3 = require('../index');
4 | var web3 = new Web3();
5 | var FakeHttpProvider = require('./helpers/FakeHttpProvider');
6 |
7 | var method = 'peerCount';
8 |
9 | var tests = [{
10 | result: '0xf',
11 | formattedResult: 15,
12 | call: 'net_'+ method
13 | }];
14 |
15 | describe('web3.net', function () {
16 | describe(method, function () {
17 | tests.forEach(function (test, index) {
18 | it('property test: ' + index, function () {
19 |
20 | // given
21 | var provider = new FakeHttpProvider();
22 | web3.setProvider(provider);
23 | provider.injectResult(test.result);
24 | provider.injectValidation(function (payload) {
25 | assert.equal(payload.jsonrpc, '2.0');
26 | assert.equal(payload.method, test.call);
27 | assert.deepEqual(payload.params, []);
28 | });
29 |
30 | // when
31 | var result = web3.net[method];
32 |
33 | // then
34 | assert.deepEqual(test.formattedResult, result);
35 | });
36 | });
37 | });
38 | });
39 |
40 |
--------------------------------------------------------------------------------
/www/lib/web3/test/web3.shh.hasIdentity.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var web3 = require('../index');
3 | var testMethod = require('./helpers/test.method.js');
4 |
5 | var method = 'hasIdentity';
6 |
7 | var tests = [{
8 | args: ['0x2dbab4c0612bf9caf4c195085547dc0612bf9caf4c1950855'],
9 | formattedArgs: ['0x2dbab4c0612bf9caf4c195085547dc0612bf9caf4c1950855'],
10 | result: true,
11 | formattedResult: true,
12 | call: 'shh_'+ method
13 | }];
14 |
15 | testMethod.runTests('shh', method, tests);
16 |
17 |
--------------------------------------------------------------------------------
/www/lib/web3/test/web3.shh.methods.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var assert = chai.assert;
3 | var Web3 = require('../index.js');
4 | var web3 = new Web3();
5 | var u = require('./helpers/test.utils.js');
6 |
7 | describe('web3.shh', function() {
8 | describe('methods', function() {
9 | u.methodExists(web3.shh, 'post');
10 | u.methodExists(web3.shh, 'newIdentity');
11 | u.methodExists(web3.shh, 'hasIdentity');
12 | u.methodExists(web3.shh, 'newGroup');
13 | u.methodExists(web3.shh, 'addToGroup');
14 | u.methodExists(web3.shh, 'filter');
15 | });
16 | });
17 |
18 |
--------------------------------------------------------------------------------
/www/lib/web3/test/web3.shh.post.js:
--------------------------------------------------------------------------------
1 | var chai = require('chai');
2 | var Web3 = require('../index');
3 | var web3 = new Web3();
4 | var testMethod = require('./helpers/test.method.js');
5 |
6 | var method = 'post';
7 |
8 | var tests = [{
9 | args: [{
10 | from: '0x123123123',
11 | topics: ['hello_world'],
12 | payload: '12345',
13 | ttl: 100,
14 | workToProve: 101
15 | }],
16 | formattedArgs: [{
17 | from: '0x123123123',
18 | topics: [web3.fromAscii('hello_world')],
19 | payload: web3.toHex('12345'),
20 | ttl: web3.toHex('100'),
21 | workToProve: web3.toHex('101'),
22 | priority: '0x0'
23 | }],
24 | result: true,
25 | formattedResult: true,
26 | call: 'shh_'+ method
27 | }, {
28 | args: [{
29 | from: '0x21312',
30 | topics: ['hello_world'],
31 | payload: '0x12345',
32 | ttl: 0x100,
33 | workToProve: 0x101,
34 | priority: 0x15
35 | }],
36 | formattedArgs: [{
37 | from: '0x21312',
38 | topics: [web3.fromAscii('hello_world')],
39 | payload: '0x12345',
40 | ttl: '0x100',
41 | workToProve: '0x101',
42 | priority: '0x15'
43 | }],
44 | result: true,
45 | formattedResult: true,
46 | call: 'shh_'+ method
47 | }];
48 |
49 | testMethod.runTests('shh', method, tests);
50 |
51 |
--------------------------------------------------------------------------------
/www/templates/block.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Playlist
4 |
5 |
6 |
--------------------------------------------------------------------------------
/www/templates/checkbalance.html:
--------------------------------------------------------------------------------
1 |
4 |
5 |
33 |
34 |
--------------------------------------------------------------------------------
/www/templates/credits.html:
--------------------------------------------------------------------------------
1 |
4 |
5 |
47 |
48 |
--------------------------------------------------------------------------------
/www/templates/marketcap.html:
--------------------------------------------------------------------------------
1 |
4 |
5 |
35 |
36 |
--------------------------------------------------------------------------------
/www/templates/price.html:
--------------------------------------------------------------------------------
1 |
4 |
5 |
25 |
26 |
--------------------------------------------------------------------------------
/www/templates/send.html:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
20 |
21 |
60 |
61 |
62 |
--------------------------------------------------------------------------------
/www/templates/tabs.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/www/templates/wallet.html:
--------------------------------------------------------------------------------
1 |
4 |
5 |
59 |
60 |
--------------------------------------------------------------------------------