├── .gitattributes ├── .gitignore ├── README.md ├── assetsearch.html ├── bet.html ├── broadcastmany.html ├── broadcastone.html ├── bulkregister.html ├── craps.html ├── developer.html ├── devparty.html ├── drawmenus.js ├── encrypt.html ├── export.html ├── generatepp.html ├── getstarted.html ├── history.html ├── img ├── checked16px.png ├── checked24px.png ├── iconassets16.png ├── iconassets24.png ├── iconbroadcast16.png ├── iconbroadcast24.png ├── iconqr16.png ├── iconqr24.png ├── iconrefresh16.png ├── iconrefresh24.png ├── iconsend16.png ├── iconsend24.png ├── logo-gold.png ├── logo-pink.png ├── thumbup16px.png ├── thumbup24px.png ├── trianglearrow20.png ├── trianglearrow28.png ├── trianglearrow_large.png ├── xcpblackyellow.ico └── xcpstandard.ico ├── index.html ├── lib ├── anchorme │ ├── LICENSE │ ├── README.md │ ├── anchorme.js │ ├── anchorme.min.js │ └── index.html ├── bitcore │ ├── .bower.json │ ├── LICENSE │ ├── README.md │ ├── bitcore.js │ ├── bitcore.min.js │ ├── bower.json │ └── package.json ├── chrome-wallet-mod │ ├── apps.png │ ├── bitcoin_48x48.png │ ├── bootstrap.min.css │ ├── clipboard.png │ ├── exchange-rates-icon.png │ ├── factory-icon.png │ ├── font-awesome │ │ ├── css │ │ │ ├── font-awesome.css │ │ │ └── font-awesome.min.css │ │ ├── fonts │ │ │ ├── FontAwesome.otf │ │ │ ├── fontawesome-webfont.eot │ │ │ ├── fontawesome-webfont.svg │ │ │ ├── fontawesome-webfont.ttf │ │ │ ├── fontawesome-webfont.woff │ │ │ └── fontawesome-webfont.woff2 │ │ ├── less │ │ │ ├── animated.less │ │ │ ├── bordered-pulled.less │ │ │ ├── core.less │ │ │ ├── fixed-width.less │ │ │ ├── font-awesome.less │ │ │ ├── icons.less │ │ │ ├── larger.less │ │ │ ├── list.less │ │ │ ├── mixins.less │ │ │ ├── path.less │ │ │ ├── rotated-flipped.less │ │ │ ├── stacked.less │ │ │ └── variables.less │ │ └── scss │ │ │ ├── _animated.scss │ │ │ ├── _bordered-pulled.scss │ │ │ ├── _core.scss │ │ │ ├── _fixed-width.scss │ │ │ ├── _icons.scss │ │ │ ├── _larger.scss │ │ │ ├── _list.scss │ │ │ ├── _mixins.scss │ │ │ ├── _path.scss │ │ │ ├── _rotated-flipped.scss │ │ │ ├── _stacked.scss │ │ │ ├── _variables.scss │ │ │ └── font-awesome.scss │ ├── images │ │ ├── bank-icon.png │ │ ├── dz-parachute.png │ │ ├── help-icon.png │ │ ├── icon-128.png │ │ ├── icon-16.png │ │ ├── icon-48.png │ │ ├── ninja-icon.png │ │ └── xcp-icon.png │ ├── info-icon.png │ ├── inventory_icon.png │ ├── issue-tx-wt.html │ ├── issue-tx.html │ ├── issueticker-wt.js │ ├── issueticker.js │ ├── js │ │ ├── aes.js │ │ ├── apiserver.js │ │ ├── biginteger.js │ │ ├── bitcoinjs-min.js │ │ ├── bitcoinsig.js │ │ ├── bitcore │ │ │ ├── .bower.json │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── bitcore.js │ │ │ ├── bitcore.min.js │ │ │ ├── bower.json │ │ │ └── package.json │ │ ├── bootstrap.min.js │ │ ├── brainlite.js │ │ ├── content.js │ │ ├── detect.js │ │ ├── hex2dec-cs.js │ │ ├── import_addresses.js │ │ ├── issuancebutton.js │ │ ├── jquery.min.js │ │ ├── message.js │ │ ├── mnemonic.js │ │ ├── qrcode.min.js │ │ ├── tipbutton.js │ │ ├── utxo.js │ │ └── xcp-js │ │ │ ├── convert-type.js │ │ │ ├── decode.js │ │ │ ├── issuance.js │ │ │ ├── rc4.js │ │ │ └── transactions.js │ ├── key-icon.png │ ├── labeltag.png │ ├── main.css │ ├── manifest.json │ ├── news-icon.png │ ├── pc-icon-white.png │ ├── pc-icon.png │ ├── pin_bg │ │ ├── 0.png │ │ ├── 1.png │ │ ├── 2.png │ │ ├── 3.png │ │ └── 4.png │ ├── popup.html │ ├── popup.js │ ├── refresh.png │ ├── register.png │ ├── rolodex-icon.png │ ├── setupss.png │ ├── sign_icon.png │ ├── splashlogo.png │ ├── ss-icon.png │ ├── swapbot-icon.png │ ├── test │ │ ├── asset_send.html │ │ ├── extract_data.html │ │ ├── index.html │ │ └── txid.html │ ├── ticker.js │ ├── tipsplash.html │ ├── tipsplash.js │ ├── tipticker.js │ ├── tokenslot-icon.png │ ├── verify-icon.png │ └── wallet_icon.png ├── cryptojs v3.1.2 │ ├── components │ │ ├── aes-min.js │ │ ├── aes.js │ │ ├── cipher-core-min.js │ │ ├── cipher-core.js │ │ ├── core-min.js │ │ ├── core.js │ │ ├── enc-base64-min.js │ │ ├── enc-base64.js │ │ ├── enc-utf16-min.js │ │ ├── enc-utf16.js │ │ ├── evpkdf-min.js │ │ ├── evpkdf.js │ │ ├── format-hex-min.js │ │ ├── format-hex.js │ │ ├── hmac-min.js │ │ ├── hmac.js │ │ ├── lib-typedarrays-min.js │ │ ├── lib-typedarrays.js │ │ ├── md5-min.js │ │ ├── md5.js │ │ ├── mode-cfb-min.js │ │ ├── mode-cfb.js │ │ ├── mode-ctr-gladman-min.js │ │ ├── mode-ctr-gladman.js │ │ ├── mode-ctr-min.js │ │ ├── mode-ctr.js │ │ ├── mode-ecb-min.js │ │ ├── mode-ecb.js │ │ ├── mode-ofb-min.js │ │ ├── mode-ofb.js │ │ ├── pad-ansix923-min.js │ │ ├── pad-ansix923.js │ │ ├── pad-iso10126-min.js │ │ ├── pad-iso10126.js │ │ ├── pad-iso97971-min.js │ │ ├── pad-iso97971.js │ │ ├── pad-nopadding-min.js │ │ ├── pad-nopadding.js │ │ ├── pad-zeropadding-min.js │ │ ├── pad-zeropadding.js │ │ ├── pbkdf2-min.js │ │ ├── pbkdf2.js │ │ ├── rabbit-legacy-min.js │ │ ├── rabbit-legacy.js │ │ ├── rabbit-min.js │ │ ├── rabbit.js │ │ ├── rc4-min.js │ │ ├── rc4.js │ │ ├── ripemd160-min.js │ │ ├── ripemd160.js │ │ ├── sha1-min.js │ │ ├── sha1.js │ │ ├── sha224-min.js │ │ ├── sha224.js │ │ ├── sha256-min.js │ │ ├── sha256.js │ │ ├── sha3-min.js │ │ ├── sha3.js │ │ ├── sha384-min.js │ │ ├── sha384.js │ │ ├── sha512-min.js │ │ ├── sha512.js │ │ ├── tripledes-min.js │ │ ├── tripledes.js │ │ ├── x64-core-min.js │ │ └── x64-core.js │ └── rollups │ │ ├── aes.js │ │ ├── hmac-md5.js │ │ ├── hmac-ripemd160.js │ │ ├── hmac-sha1.js │ │ ├── hmac-sha224.js │ │ ├── hmac-sha256.js │ │ ├── hmac-sha3.js │ │ ├── hmac-sha384.js │ │ ├── hmac-sha512.js │ │ ├── md5.js │ │ ├── pbkdf2.js │ │ ├── rabbit-legacy.js │ │ ├── rabbit.js │ │ ├── rc4.js │ │ ├── ripemd160.js │ │ ├── sha1.js │ │ ├── sha224.js │ │ ├── sha256.js │ │ ├── sha3.js │ │ ├── sha384.js │ │ ├── sha512.js │ │ └── tripledes.js ├── cw_address_key_generator │ ├── .gitattributes │ ├── README.md │ ├── assets │ │ └── plugins │ │ │ └── bootstrap │ │ │ ├── css │ │ │ ├── WS_FTP.LOG │ │ │ ├── bootstrap.css │ │ │ └── bootstrap.min.css │ │ │ ├── fonts │ │ │ ├── WS_FTP.LOG │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ └── glyphicons-halflings-regular.woff │ │ │ └── js │ │ │ ├── WS_FTP.LOG │ │ │ ├── bootstrap.js │ │ │ └── bootstrap.min.js │ ├── images │ │ ├── ajax-loader.gif │ │ ├── logo.png │ │ └── qrcode2.png │ ├── jss │ │ ├── bitcoinjs.min.js │ │ ├── bitcore │ │ │ ├── .bower.json │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── bitcore.js │ │ │ ├── bitcore.min.js │ │ │ ├── bower.json │ │ │ └── package.json │ │ ├── jquery-1.11.1.min.js │ │ ├── jquery-1.11.1.min.map │ │ ├── mnemonic.js │ │ └── qrcode.min.js │ └── tool_generatekey.html ├── jquery │ └── jquery-2.1.4.js ├── mnemonic │ ├── .gitignore │ ├── LICENSE │ ├── README.md │ ├── bower.json │ ├── chrome │ │ ├── background.html │ │ ├── icon.png │ │ ├── index.js │ │ ├── jquery.js │ │ ├── manifest.json │ │ ├── mnemonic.css │ │ ├── mnemonic.html │ │ └── mnemonic.js │ ├── mnemonic.js │ └── tests │ │ ├── index.js │ │ ├── specRunner.html │ │ └── specs │ │ └── mnemonic_spec.js ├── qrcodejs │ ├── .gitignore │ ├── LICENSE │ ├── README.md │ ├── bower.json │ ├── index-svg.html │ ├── index.html │ ├── index.svg │ ├── jquery.min.js │ ├── qrcode.js │ └── qrcode.min.js ├── seedrandom │ ├── .coveralls.yml │ ├── .gitignore │ ├── .travis.yml │ ├── Gruntfile.js │ ├── README.md │ ├── bower.json │ ├── component.json │ ├── index.js │ ├── lib │ │ ├── alea.js │ │ ├── alea.min.js │ │ ├── tychei.js │ │ ├── tychei.min.js │ │ ├── xor128.js │ │ ├── xor128.min.js │ │ ├── xor4096.js │ │ ├── xor4096.min.js │ │ ├── xorshift7.js │ │ ├── xorshift7.min.js │ │ ├── xorwow.js │ │ └── xorwow.min.js │ ├── package.json │ ├── seedrandom.js │ ├── seedrandom.min.js │ └── test │ │ ├── altprng.html │ │ ├── autoseed.html │ │ ├── bitgen.js │ │ ├── cryptotest.js │ │ ├── lib │ │ ├── qunit.css │ │ ├── qunit.js │ │ └── require.js │ │ ├── newapi.html │ │ ├── nodetest.js │ │ ├── options.html │ │ ├── out │ │ └── dieharder-report.txt │ │ ├── prngtest.js │ │ ├── require.html │ │ ├── run_dieharder.sh │ │ └── state.html └── xcp-toolbox │ ├── api.js │ ├── misc.js │ ├── passphrase.js │ └── password.js ├── multisend.html ├── notarize.html ├── paperwallet.html ├── piggyback.html ├── registerasset.html ├── repairpp.html ├── settings.js ├── settings ├── asset_list.txt ├── assets.txt ├── encryptedpp.txt ├── general.txt ├── menu.txt └── styles.css ├── settingsuser.html ├── shapeshift.html ├── spellsofgenesis.html ├── spellsofgenesis ├── BAZAARCARD.jpg ├── BCYDRAGON.jpg ├── BEARWHALECD.jpg ├── BLOCKSIZECD.jpg ├── BLOCKTRAILCD.jpg ├── BTCDRAGONCD.jpg ├── CARDAIRBITZ.jpg ├── CARDAMBER.jpg ├── CARDASTEMA.jpg ├── CARDAUGUR.jpg ├── CLEFCARD.jpg ├── CNPCARD.jpg ├── DOGECOINCARD.jpg ├── EMERALDCARD.jpg ├── ETHEREUMCARD.jpg ├── ETHXCPCARD.jpg ├── FDCARD.jpg ├── GEMZCARD.jpg ├── GENESISCARD.jpg ├── GOBLINCARD.jpg ├── GOXCARD.jpg ├── LTBCARD.jpg ├── MINERCARD.jpg ├── RIPPLECARD.jpg ├── RUBYCARD.jpg ├── SAPPHIRECARD.jpg ├── SATOSHICARD.jpg ├── SATOSHILITE.jpg ├── SAYOSIATAX.jpg ├── SGDARKNESS.jpg ├── SHAPESHIFTCD.jpg ├── SHUMAICARD.jpg ├── SJCXCARD.jpg ├── SWARMCD.jpg ├── TALISMANCARD.jpg ├── WAGATECARD.jpg ├── WHEREBCYCARD.jpg ├── XAJIARKETAAR.jpg ├── XAJIBASILAAR.jpg ├── XAJIBESAAR.jpg ├── XAJIBOSS.jpg ├── XAJIJASPAAR.jpg ├── XAJIYEREMAAR.jpg ├── XCPCARD.jpg └── ZAIFCARD.jpg ├── template.html ├── vanity.html └── youtube.html /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | 7 | # Standard to msysgit 8 | *.doc diff=astextplain 9 | *.DOC diff=astextplain 10 | *.docx diff=astextplain 11 | *.DOCX diff=astextplain 12 | *.dot diff=astextplain 13 | *.DOT diff=astextplain 14 | *.pdf diff=astextplain 15 | *.PDF diff=astextplain 16 | *.rtf diff=astextplain 17 | *.RTF diff=astextplain 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Windows image file caches 2 | Thumbs.db 3 | ehthumbs.db 4 | 5 | # Folder config file 6 | Desktop.ini 7 | 8 | # Recycle Bin used on file shares 9 | $RECYCLE.BIN/ 10 | 11 | # Windows Installer files 12 | *.cab 13 | *.msi 14 | *.msm 15 | *.msp 16 | 17 | # Windows shortcuts 18 | *.lnk 19 | 20 | # ========================= 21 | # Operating System Files 22 | # ========================= 23 | 24 | # OSX 25 | # ========================= 26 | 27 | .DS_Store 28 | .AppleDouble 29 | .LSOverride 30 | 31 | # Thumbnails 32 | ._* 33 | 34 | # Files that might appear in the root of a volume 35 | .DocumentRevisions-V100 36 | .fseventsd 37 | .Spotlight-V100 38 | .TemporaryItems 39 | .Trashes 40 | .VolumeIcon.icns 41 | 42 | # Directories potentially created on remote AFP share 43 | .AppleDB 44 | .AppleDesktop 45 | Network Trash Folder 46 | Temporary Items 47 | .apdisk 48 | -------------------------------------------------------------------------------- /img/checked16px.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/img/checked16px.png -------------------------------------------------------------------------------- /img/checked24px.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/img/checked24px.png -------------------------------------------------------------------------------- /img/iconassets16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/img/iconassets16.png -------------------------------------------------------------------------------- /img/iconassets24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/img/iconassets24.png -------------------------------------------------------------------------------- /img/iconbroadcast16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/img/iconbroadcast16.png -------------------------------------------------------------------------------- /img/iconbroadcast24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/img/iconbroadcast24.png -------------------------------------------------------------------------------- /img/iconqr16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/img/iconqr16.png -------------------------------------------------------------------------------- /img/iconqr24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/img/iconqr24.png -------------------------------------------------------------------------------- /img/iconrefresh16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/img/iconrefresh16.png -------------------------------------------------------------------------------- /img/iconrefresh24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/img/iconrefresh24.png -------------------------------------------------------------------------------- /img/iconsend16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/img/iconsend16.png -------------------------------------------------------------------------------- /img/iconsend24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/img/iconsend24.png -------------------------------------------------------------------------------- /img/logo-gold.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/img/logo-gold.png -------------------------------------------------------------------------------- /img/logo-pink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/img/logo-pink.png -------------------------------------------------------------------------------- /img/thumbup16px.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/img/thumbup16px.png -------------------------------------------------------------------------------- /img/thumbup24px.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/img/thumbup24px.png -------------------------------------------------------------------------------- /img/trianglearrow20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/img/trianglearrow20.png -------------------------------------------------------------------------------- /img/trianglearrow28.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/img/trianglearrow28.png -------------------------------------------------------------------------------- /img/trianglearrow_large.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/img/trianglearrow_large.png -------------------------------------------------------------------------------- /img/xcpblackyellow.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/img/xcpblackyellow.ico -------------------------------------------------------------------------------- /img/xcpstandard.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/img/xcpstandard.ico -------------------------------------------------------------------------------- /lib/anchorme/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Ali Saleem 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 | 23 | -------------------------------------------------------------------------------- /lib/anchorme/README.md: -------------------------------------------------------------------------------- 1 | # Anchorme.js v0.4.0 2 | Javascript library to convert URLs in text to clickable HTML anchor links. 3 | 4 | ## Features: 5 | 1. Highly sensitive. 6 | 2. Least possible false positives with high sensitivity. 7 | 3. Skips HTML (won't break it if it had a URL as an attribute of some element). 8 | 4. Would make links if they have protocols (eg. http://) or not. 9 | 5. Supports all TLDs in accordance to an up-to-date IANA list. 10 | 6. Also works with IPs, FTPs, and Emails. 11 | 7. Also works when ports defined (eg. mywebsite:80/page.html) 12 | 8. you can set any attribute you want for the resulting elements 13 | 9. Very small in size (14KB). 14 | 10. No regex involved, very readable and maintainable 15 | 11. Higher performance than similar libraries 16 | 12. Tested against Autolinker.js and linkifyjs on FireFox. After 10000 iterations anchorme.js scored 300ms while others where around 1200m. 17 | 18 | 19 | ## How to use: 20 | **A. include the library file in your HTML:** 21 | ```html 22 | 23 | ``` 24 | **B. call the method:** 25 | ``` 26 | var someText = "this is a text with a link www.github.com .."; 27 | var result = anchorme.js(someText); 28 | ``` 29 | **C. [OPTIONAL] Set any attribute you want like this:** 30 | ``` 31 | var someText = "this is a text with a link www.github.com .."; 32 | var result = anchorme.js(someText,{"class":"someclassname","id":"someID","target":"_blank", "attribute-name":"attribute-property"}); 33 | ``` 34 | 35 | ## Test it before using.. 36 | Check how this libary would work for you here. 37 | -------------------------------------------------------------------------------- /lib/bitcore/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bitcore", 3 | "main": "./bitcore.min.js", 4 | "version": "0.9.3", 5 | "homepage": "http://bitcore.io", 6 | "authors": [ 7 | "BitPay, Inc." 8 | ], 9 | "description": "A pure, powerful core for your bitcoin project.", 10 | "moduleType": [ 11 | "globals" 12 | ], 13 | "keywords": [ 14 | "bitcoin", 15 | "bitcore", 16 | "btc", 17 | "satoshi" 18 | ], 19 | "license": "MIT", 20 | "ignore": [ 21 | "**/.*", 22 | "CONTRIBUTING.md", 23 | "gulpfile.js", 24 | "lib", 25 | "index.js", 26 | "karma.conf.js", 27 | "npm-shrinkwrap.json", 28 | "test" 29 | ], 30 | "_release": "0.9.3", 31 | "_resolution": { 32 | "type": "version", 33 | "tag": "v0.9.3", 34 | "commit": "d92db9032298d1c90f5228cfa5a3fd66c473d1c2" 35 | }, 36 | "_source": "git://github.com/bitpay/bitcore.git", 37 | "_target": "~0.9.3", 38 | "_originalSource": "bitcore", 39 | "_direct": true 40 | } -------------------------------------------------------------------------------- /lib/bitcore/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013-2015 BitPay, Inc. 2 | 3 | Parts of this software are based on fullnode 4 | Copyright (c) 2014 Ryan X. Charles 5 | Copyright (c) 2014 reddit, Inc. 6 | 7 | Parts of this software are based on BitcoinJS 8 | Copyright (c) 2011 Stefan Thomas 9 | 10 | Parts of this software are based on BitcoinJ 11 | Copyright (c) 2011 Google Inc. 12 | 13 | Permission is hereby granted, free of charge, to any person obtaining a copy 14 | of this software and associated documentation files (the "Software"), to deal 15 | in the Software without restriction, including without limitation the rights 16 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 17 | copies of the Software, and to permit persons to whom the Software is 18 | furnished to do so, subject to the following conditions: 19 | 20 | The above copyright notice and this permission notice shall be included in 21 | all copies or substantial portions of the Software. 22 | 23 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 24 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 25 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 26 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 27 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 28 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 29 | THE SOFTWARE. 30 | -------------------------------------------------------------------------------- /lib/bitcore/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bitcore", 3 | "main": "./bitcore.min.js", 4 | "version": "0.9.3", 5 | "homepage": "http://bitcore.io", 6 | "authors": [ 7 | "BitPay, Inc." 8 | ], 9 | "description": "A pure, powerful core for your bitcoin project.", 10 | "moduleType": [ 11 | "globals" 12 | ], 13 | "keywords": [ 14 | "bitcoin", 15 | "bitcore", 16 | "btc", 17 | "satoshi" 18 | ], 19 | "license": "MIT", 20 | "ignore": [ 21 | "**/.*", 22 | "CONTRIBUTING.md", 23 | "gulpfile.js", 24 | "lib", 25 | "index.js", 26 | "karma.conf.js", 27 | "npm-shrinkwrap.json", 28 | "test" 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /lib/bitcore/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bitcore", 3 | "version": "0.9.3", 4 | "description": "A pure and powerful JavaScript Bitcoin library.", 5 | "author": "BitPay ", 6 | "main": "index.js", 7 | "scripts": { 8 | "lint": "gulp lint", 9 | "test": "gulp test", 10 | "coverage": "gulp coverage", 11 | "build": "gulp" 12 | }, 13 | "contributors": [ 14 | { 15 | "name": "Daniel Cousens", 16 | "email": "bitcoin@dcousens.com" 17 | }, 18 | { 19 | "name": "Esteban Ordano", 20 | "email": "eordano@gmail.com" 21 | }, 22 | { 23 | "name": "Gordon Hall", 24 | "email": "gordon@bitpay.com" 25 | }, 26 | { 27 | "name": "Jeff Garzik", 28 | "email": "jgarzik@bitpay.com" 29 | }, 30 | { 31 | "name": "Kyle Drake", 32 | "email": "kyle@kyledrake.net" 33 | }, 34 | { 35 | "name": "Manuel Araoz", 36 | "email": "manuelaraoz@gmail.com" 37 | }, 38 | { 39 | "name": "Matias Alejo Garcia", 40 | "email": "ematiu@gmail.com" 41 | }, 42 | { 43 | "name": "Ryan X. Charles", 44 | "email": "ryanxcharles@gmail.com" 45 | }, 46 | { 47 | "name": "Stefan Thomas", 48 | "email": "moon@justmoon.net" 49 | }, 50 | { 51 | "name": "Stephen Pair", 52 | "email": "stephen@bitpay.com" 53 | }, 54 | { 55 | "name": "Wei Lu", 56 | "email": "luwei.here@gmail.com" 57 | } 58 | ], 59 | "keywords": [ 60 | "bitcoin", 61 | "bip32", 62 | "bip37", 63 | "bip70", 64 | "merge", 65 | "multisig" 66 | ], 67 | "repository": { 68 | "type": "git", 69 | "url": "https://github.com/bitpay/bitcore.git" 70 | }, 71 | "browser": { 72 | "request": "browser-request" 73 | }, 74 | "dependencies": { 75 | "bn.js": "=0.16.1", 76 | "bs58": "=2.0.0", 77 | "elliptic": "=0.16.0", 78 | "hash.js": "=0.3.2", 79 | "inherits": "=2.0.1", 80 | "lodash": "=2.4.1", 81 | "sha512": "=0.0.1" 82 | }, 83 | "devDependencies": { 84 | "bitcore-build": "git://github.com/bitpay/bitcore-build.git", 85 | "brfs": "^1.2.0", 86 | "chai": "^1.10.0", 87 | "gulp": "^3.8.10" 88 | }, 89 | "license": "MIT" 90 | } 91 | -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/apps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/lib/chrome-wallet-mod/apps.png -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/bitcoin_48x48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/lib/chrome-wallet-mod/bitcoin_48x48.png -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/clipboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/lib/chrome-wallet-mod/clipboard.png -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/exchange-rates-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/lib/chrome-wallet-mod/exchange-rates-icon.png -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/factory-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/lib/chrome-wallet-mod/factory-icon.png -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/font-awesome/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/lib/chrome-wallet-mod/font-awesome/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/font-awesome/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/lib/chrome-wallet-mod/font-awesome/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/font-awesome/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/lib/chrome-wallet-mod/font-awesome/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/font-awesome/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/lib/chrome-wallet-mod/font-awesome/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/font-awesome/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/lib/chrome-wallet-mod/font-awesome/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/font-awesome/less/animated.less: -------------------------------------------------------------------------------- 1 | // Animated Icons 2 | // -------------------------- 3 | 4 | .@{fa-css-prefix}-spin { 5 | -webkit-animation: fa-spin 2s infinite linear; 6 | animation: fa-spin 2s infinite linear; 7 | } 8 | 9 | .@{fa-css-prefix}-pulse { 10 | -webkit-animation: fa-spin 1s infinite steps(8); 11 | animation: fa-spin 1s infinite steps(8); 12 | } 13 | 14 | @-webkit-keyframes fa-spin { 15 | 0% { 16 | -webkit-transform: rotate(0deg); 17 | transform: rotate(0deg); 18 | } 19 | 100% { 20 | -webkit-transform: rotate(359deg); 21 | transform: rotate(359deg); 22 | } 23 | } 24 | 25 | @keyframes fa-spin { 26 | 0% { 27 | -webkit-transform: rotate(0deg); 28 | transform: rotate(0deg); 29 | } 30 | 100% { 31 | -webkit-transform: rotate(359deg); 32 | transform: rotate(359deg); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/font-awesome/less/bordered-pulled.less: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em @fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .pull-right { float: right; } 11 | .pull-left { float: left; } 12 | 13 | .@{fa-css-prefix} { 14 | &.pull-left { margin-right: .3em; } 15 | &.pull-right { margin-left: .3em; } 16 | } 17 | -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/font-awesome/less/core.less: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal @fa-font-size-base/1 FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | transform: translate(0, 0); // ensures no half-pixel rendering in firefox 12 | 13 | } 14 | -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/font-awesome/less/fixed-width.less: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .@{fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/font-awesome/less/font-awesome.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.3.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables.less"; 7 | @import "mixins.less"; 8 | @import "path.less"; 9 | @import "core.less"; 10 | @import "larger.less"; 11 | @import "fixed-width.less"; 12 | @import "list.less"; 13 | @import "bordered-pulled.less"; 14 | @import "animated.less"; 15 | @import "rotated-flipped.less"; 16 | @import "stacked.less"; 17 | @import "icons.less"; 18 | -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/font-awesome/less/larger.less: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .@{fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .@{fa-css-prefix}-2x { font-size: 2em; } 11 | .@{fa-css-prefix}-3x { font-size: 3em; } 12 | .@{fa-css-prefix}-4x { font-size: 4em; } 13 | .@{fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/font-awesome/less/list.less: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: @fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .@{fa-css-prefix}-li { 11 | position: absolute; 12 | left: -@fa-li-width; 13 | width: @fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.@{fa-css-prefix}-lg { 17 | left: (-@fa-li-width + (4em / 14)); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/font-awesome/less/mixins.less: -------------------------------------------------------------------------------- 1 | // Mixins 2 | // -------------------------- 3 | 4 | .fa-icon() { 5 | display: inline-block; 6 | font: normal normal normal @fa-font-size-base/1 FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | transform: translate(0, 0); // ensures no half-pixel rendering in firefox 12 | 13 | } 14 | 15 | .fa-icon-rotate(@degrees, @rotation) { 16 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation); 17 | -webkit-transform: rotate(@degrees); 18 | -ms-transform: rotate(@degrees); 19 | transform: rotate(@degrees); 20 | } 21 | 22 | .fa-icon-flip(@horiz, @vert, @rotation) { 23 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation, mirror=1); 24 | -webkit-transform: scale(@horiz, @vert); 25 | -ms-transform: scale(@horiz, @vert); 26 | transform: scale(@horiz, @vert); 27 | } 28 | -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/font-awesome/less/path.less: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}'); 7 | src: url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'), 8 | url('@{fa-font-path}/fontawesome-webfont.woff2?v=@{fa-version}') format('woff2'), 9 | url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff'), 10 | url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'), 11 | url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg'); 12 | // src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 13 | font-weight: normal; 14 | font-style: normal; 15 | } 16 | -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/font-awesome/less/rotated-flipped.less: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); } 5 | .@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); } 6 | .@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); } 7 | 8 | .@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); } 9 | .@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); } 10 | 11 | // Hook for IE8-9 12 | // ------------------------- 13 | 14 | :root .@{fa-css-prefix}-rotate-90, 15 | :root .@{fa-css-prefix}-rotate-180, 16 | :root .@{fa-css-prefix}-rotate-270, 17 | :root .@{fa-css-prefix}-flip-horizontal, 18 | :root .@{fa-css-prefix}-flip-vertical { 19 | filter: none; 20 | } 21 | -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/font-awesome/less/stacked.less: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .@{fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .@{fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .@{fa-css-prefix}-inverse { color: @fa-inverse; } 21 | -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/font-awesome/scss/_animated.scss: -------------------------------------------------------------------------------- 1 | // Spinning Icons 2 | // -------------------------- 3 | 4 | .#{$fa-css-prefix}-spin { 5 | -webkit-animation: fa-spin 2s infinite linear; 6 | animation: fa-spin 2s infinite linear; 7 | } 8 | 9 | .#{$fa-css-prefix}-pulse { 10 | -webkit-animation: fa-spin 1s infinite steps(8); 11 | animation: fa-spin 1s infinite steps(8); 12 | } 13 | 14 | @-webkit-keyframes fa-spin { 15 | 0% { 16 | -webkit-transform: rotate(0deg); 17 | transform: rotate(0deg); 18 | } 19 | 100% { 20 | -webkit-transform: rotate(359deg); 21 | transform: rotate(359deg); 22 | } 23 | } 24 | 25 | @keyframes fa-spin { 26 | 0% { 27 | -webkit-transform: rotate(0deg); 28 | transform: rotate(0deg); 29 | } 30 | 100% { 31 | -webkit-transform: rotate(359deg); 32 | transform: rotate(359deg); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/font-awesome/scss/_bordered-pulled.scss: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em $fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .pull-right { float: right; } 11 | .pull-left { float: left; } 12 | 13 | .#{$fa-css-prefix} { 14 | &.pull-left { margin-right: .3em; } 15 | &.pull-right { margin-left: .3em; } 16 | } 17 | -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/font-awesome/scss/_core.scss: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal #{$fa-font-size-base}/1 FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | transform: translate(0, 0); // ensures no half-pixel rendering in firefox 12 | 13 | } 14 | -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/font-awesome/scss/_fixed-width.scss: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .#{$fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/font-awesome/scss/_larger.scss: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .#{$fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .#{$fa-css-prefix}-2x { font-size: 2em; } 11 | .#{$fa-css-prefix}-3x { font-size: 3em; } 12 | .#{$fa-css-prefix}-4x { font-size: 4em; } 13 | .#{$fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/font-awesome/scss/_list.scss: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: $fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .#{$fa-css-prefix}-li { 11 | position: absolute; 12 | left: -$fa-li-width; 13 | width: $fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.#{$fa-css-prefix}-lg { 17 | left: -$fa-li-width + (4em / 14); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/font-awesome/scss/_mixins.scss: -------------------------------------------------------------------------------- 1 | // Mixins 2 | // -------------------------- 3 | 4 | @mixin fa-icon() { 5 | display: inline-block; 6 | font: normal normal normal #{$fa-font-size-base}/1 FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | transform: translate(0, 0); // ensures no half-pixel rendering in firefox 12 | 13 | } 14 | 15 | @mixin fa-icon-rotate($degrees, $rotation) { 16 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}); 17 | -webkit-transform: rotate($degrees); 18 | -ms-transform: rotate($degrees); 19 | transform: rotate($degrees); 20 | } 21 | 22 | @mixin fa-icon-flip($horiz, $vert, $rotation) { 23 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}); 24 | -webkit-transform: scale($horiz, $vert); 25 | -ms-transform: scale($horiz, $vert); 26 | transform: scale($horiz, $vert); 27 | } 28 | -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/font-awesome/scss/_path.scss: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}'); 7 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'), 8 | url('#{$fa-font-path}/fontawesome-webfont.woff2?v=#{$fa-version}') format('woff2'), 9 | url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'), 10 | url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'), 11 | url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg'); 12 | // src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 13 | font-weight: normal; 14 | font-style: normal; 15 | } 16 | -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/font-awesome/scss/_rotated-flipped.scss: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); } 5 | .#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); } 6 | .#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); } 7 | 8 | .#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); } 9 | .#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); } 10 | 11 | // Hook for IE8-9 12 | // ------------------------- 13 | 14 | :root .#{$fa-css-prefix}-rotate-90, 15 | :root .#{$fa-css-prefix}-rotate-180, 16 | :root .#{$fa-css-prefix}-rotate-270, 17 | :root .#{$fa-css-prefix}-flip-horizontal, 18 | :root .#{$fa-css-prefix}-flip-vertical { 19 | filter: none; 20 | } 21 | -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/font-awesome/scss/_stacked.scss: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .#{$fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .#{$fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .#{$fa-css-prefix}-inverse { color: $fa-inverse; } 21 | -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/font-awesome/scss/font-awesome.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.3.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables"; 7 | @import "mixins"; 8 | @import "path"; 9 | @import "core"; 10 | @import "larger"; 11 | @import "fixed-width"; 12 | @import "list"; 13 | @import "bordered-pulled"; 14 | @import "animated"; 15 | @import "rotated-flipped"; 16 | @import "stacked"; 17 | @import "icons"; 18 | -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/images/bank-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/lib/chrome-wallet-mod/images/bank-icon.png -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/images/dz-parachute.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/lib/chrome-wallet-mod/images/dz-parachute.png -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/images/help-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/lib/chrome-wallet-mod/images/help-icon.png -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/images/icon-128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/lib/chrome-wallet-mod/images/icon-128.png -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/images/icon-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/lib/chrome-wallet-mod/images/icon-16.png -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/images/icon-48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/lib/chrome-wallet-mod/images/icon-48.png -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/images/ninja-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/lib/chrome-wallet-mod/images/ninja-icon.png -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/images/xcp-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/lib/chrome-wallet-mod/images/xcp-icon.png -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/info-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/lib/chrome-wallet-mod/info-icon.png -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/inventory_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/lib/chrome-wallet-mod/inventory_icon.png -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/issue-tx-wt.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Review Token Information 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 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 |
Review Token Information
48 |
49 | 52 | 63 | 64 | -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/issue-tx.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Review Token Information 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 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 |
Review Token Information
48 |
49 | 52 | 63 | 64 | -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/js/apiserver.js: -------------------------------------------------------------------------------- 1 | function getInsightServer() { 2 | var INSIGHT_SERVER = "localbitcoinschain.com"; 3 | 4 | console.log("Insight Server: "+INSIGHT_SERVER); 5 | 6 | return INSIGHT_SERVER; 7 | 8 | // $.getJSON( "https://"+INSIGHT_SERVER+"/api/peer", function( data ) { 9 | // 10 | // //console.log(data.connected); 11 | // 12 | // if (data.connected != true) { 13 | // 14 | // INSIGHT_SERVER = "chain.localbitcoins.com"; 15 | // 16 | // $.getJSON( "https://"+INSIGHT_SERVER+"/api/peer", function( data ) { 17 | // 18 | // if (data.connected != true) { 19 | // 20 | // INSIGHT_SERVER = "search.bitaccess.ca"; 21 | // console.log("Active Insight Server: "+INSIGHT_SERVER); 22 | // 23 | // return INSIGHT_SERVER; 24 | // 25 | // } else { 26 | // 27 | // console.log("Active Insight Server: "+INSIGHT_SERVER); 28 | // 29 | // return INSIGHT_SERVER; 30 | // 31 | // } 32 | // 33 | // }); 34 | // 35 | // } else { 36 | // 37 | // console.log("Active Insight Server: "+INSIGHT_SERVER); 38 | // 39 | // return INSIGHT_SERVER; 40 | // 41 | // } 42 | // 43 | // }); 44 | } 45 | 46 | //function getInsightServerCallback(callback) { 47 | // var INSIGHT_SERVER = "insight.bitpay.com"; 48 | // 49 | // $.getJSON( "https://"+INSIGHT_SERVER+"/api/peer", function( data ) { 50 | // 51 | // console.log(data.connected); 52 | // 53 | // if (data.connected != true) { 54 | // 55 | // INSIGHT_SERVER = "chain.localbitcoins.com"; 56 | // 57 | // $.getJSON( "https://"+INSIGHT_SERVER+"/api/peer", function( data ) { 58 | // 59 | // if (data.connected != true) { 60 | // 61 | // INSIGHT_SERVER = "search.bitaccess.ca"; 62 | // console.log("Insight Server: "+INSIGHT_SERVER); 63 | // 64 | // callback(INSIGHT_SERVER); 65 | // 66 | // } else { 67 | // 68 | // console.log("Insight Server: "+INSIGHT_SERVER); 69 | // 70 | // callback(INSIGHT_SERVER); 71 | // 72 | // } 73 | // 74 | // }); 75 | // 76 | // } else { 77 | // 78 | // console.log("Insight Server: "+INSIGHT_SERVER); 79 | // 80 | // callback(INSIGHT_SERVER); 81 | // 82 | // } 83 | // 84 | // }); 85 | //} 86 | // 87 | // 88 | -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/js/bitcore/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bitcore", 3 | "main": "./bitcore.min.js", 4 | "version": "0.9.3", 5 | "homepage": "http://bitcore.io", 6 | "authors": [ 7 | "BitPay, Inc." 8 | ], 9 | "description": "A pure, powerful core for your bitcoin project.", 10 | "moduleType": [ 11 | "globals" 12 | ], 13 | "keywords": [ 14 | "bitcoin", 15 | "bitcore", 16 | "btc", 17 | "satoshi" 18 | ], 19 | "license": "MIT", 20 | "ignore": [ 21 | "**/.*", 22 | "CONTRIBUTING.md", 23 | "gulpfile.js", 24 | "lib", 25 | "index.js", 26 | "karma.conf.js", 27 | "npm-shrinkwrap.json", 28 | "test" 29 | ], 30 | "_release": "0.9.3", 31 | "_resolution": { 32 | "type": "version", 33 | "tag": "v0.9.3", 34 | "commit": "d92db9032298d1c90f5228cfa5a3fd66c473d1c2" 35 | }, 36 | "_source": "git://github.com/bitpay/bitcore.git", 37 | "_target": "~0.9.3", 38 | "_originalSource": "bitcore", 39 | "_direct": true 40 | } -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/js/bitcore/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013-2015 BitPay, Inc. 2 | 3 | Parts of this software are based on fullnode 4 | Copyright (c) 2014 Ryan X. Charles 5 | Copyright (c) 2014 reddit, Inc. 6 | 7 | Parts of this software are based on BitcoinJS 8 | Copyright (c) 2011 Stefan Thomas 9 | 10 | Parts of this software are based on BitcoinJ 11 | Copyright (c) 2011 Google Inc. 12 | 13 | Permission is hereby granted, free of charge, to any person obtaining a copy 14 | of this software and associated documentation files (the "Software"), to deal 15 | in the Software without restriction, including without limitation the rights 16 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 17 | copies of the Software, and to permit persons to whom the Software is 18 | furnished to do so, subject to the following conditions: 19 | 20 | The above copyright notice and this permission notice shall be included in 21 | all copies or substantial portions of the Software. 22 | 23 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 24 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 25 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 26 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 27 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 28 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 29 | THE SOFTWARE. 30 | -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/js/bitcore/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bitcore", 3 | "main": "./bitcore.min.js", 4 | "version": "0.9.3", 5 | "homepage": "http://bitcore.io", 6 | "authors": [ 7 | "BitPay, Inc." 8 | ], 9 | "description": "A pure, powerful core for your bitcoin project.", 10 | "moduleType": [ 11 | "globals" 12 | ], 13 | "keywords": [ 14 | "bitcoin", 15 | "bitcore", 16 | "btc", 17 | "satoshi" 18 | ], 19 | "license": "MIT", 20 | "ignore": [ 21 | "**/.*", 22 | "CONTRIBUTING.md", 23 | "gulpfile.js", 24 | "lib", 25 | "index.js", 26 | "karma.conf.js", 27 | "npm-shrinkwrap.json", 28 | "test" 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/js/bitcore/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bitcore", 3 | "version": "0.9.3", 4 | "description": "A pure and powerful JavaScript Bitcoin library.", 5 | "author": "BitPay ", 6 | "main": "index.js", 7 | "scripts": { 8 | "lint": "gulp lint", 9 | "test": "gulp test", 10 | "coverage": "gulp coverage", 11 | "build": "gulp" 12 | }, 13 | "contributors": [ 14 | { 15 | "name": "Daniel Cousens", 16 | "email": "bitcoin@dcousens.com" 17 | }, 18 | { 19 | "name": "Esteban Ordano", 20 | "email": "eordano@gmail.com" 21 | }, 22 | { 23 | "name": "Gordon Hall", 24 | "email": "gordon@bitpay.com" 25 | }, 26 | { 27 | "name": "Jeff Garzik", 28 | "email": "jgarzik@bitpay.com" 29 | }, 30 | { 31 | "name": "Kyle Drake", 32 | "email": "kyle@kyledrake.net" 33 | }, 34 | { 35 | "name": "Manuel Araoz", 36 | "email": "manuelaraoz@gmail.com" 37 | }, 38 | { 39 | "name": "Matias Alejo Garcia", 40 | "email": "ematiu@gmail.com" 41 | }, 42 | { 43 | "name": "Ryan X. Charles", 44 | "email": "ryanxcharles@gmail.com" 45 | }, 46 | { 47 | "name": "Stefan Thomas", 48 | "email": "moon@justmoon.net" 49 | }, 50 | { 51 | "name": "Stephen Pair", 52 | "email": "stephen@bitpay.com" 53 | }, 54 | { 55 | "name": "Wei Lu", 56 | "email": "luwei.here@gmail.com" 57 | } 58 | ], 59 | "keywords": [ 60 | "bitcoin", 61 | "bip32", 62 | "bip37", 63 | "bip70", 64 | "merge", 65 | "multisig" 66 | ], 67 | "repository": { 68 | "type": "git", 69 | "url": "https://github.com/bitpay/bitcore.git" 70 | }, 71 | "browser": { 72 | "request": "browser-request" 73 | }, 74 | "dependencies": { 75 | "bn.js": "=0.16.1", 76 | "bs58": "=2.0.0", 77 | "elliptic": "=0.16.0", 78 | "hash.js": "=0.3.2", 79 | "inherits": "=2.0.1", 80 | "lodash": "=2.4.1", 81 | "sha512": "=0.0.1" 82 | }, 83 | "devDependencies": { 84 | "bitcore-build": "git://github.com/bitpay/bitcore-build.git", 85 | "brfs": "^1.2.0", 86 | "chai": "^1.10.0", 87 | "gulp": "^3.8.10" 88 | }, 89 | "license": "MIT" 90 | } 91 | -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/js/content.js: -------------------------------------------------------------------------------- 1 | var urlAndQs = window.document.URL.split("?"); 2 | var newurl = "glideraRegister.html"; 3 | if( urlAndQs.length >= 2) { 4 | newurl += "?" + urlAndQs[1]; 5 | } 6 | chrome.extension.sendMessage({redirect: newurl}); 7 | chrome.extension.onMessage.addListener(function(request, sender) { 8 | chrome.tabs.update(sender.tab.id, {url: request.redirect}); 9 | }); -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/js/hex2dec-cs.js: -------------------------------------------------------------------------------- 1 | /** 2 | * A function for converting hex <-> dec w/o loss of precision. 3 | * 4 | * The problem is that parseInt("0x12345...") isn't precise enough to convert 5 | * 64-bit integers correctly. 6 | * 7 | * Internally, this uses arrays to encode decimal digits starting with the least 8 | * significant: 9 | * 8 = [8] 10 | * 16 = [6, 1] 11 | * 1024 = [4, 2, 0, 1] 12 | */ 13 | 14 | // Adds two arrays for the given base (10 or 16), returning the result. 15 | // This turns out to be the only "primitive" operation we need. 16 | function add(x, y, base) { 17 | var z = []; 18 | var n = Math.max(x.length, y.length); 19 | var carry = 0; 20 | var i = 0; 21 | while (i < n || carry) { 22 | var xi = i < x.length ? x[i] : 0; 23 | var yi = i < y.length ? y[i] : 0; 24 | var zi = carry + xi + yi; 25 | z.push(zi % base); 26 | carry = Math.floor(zi / base); 27 | i++; 28 | } 29 | return z; 30 | } 31 | 32 | // Returns a*x, where x is an array of decimal digits and a is an ordinary 33 | // JavaScript number. base is the number base of the array x. 34 | function multiplyByNumber(num, x, base) { 35 | if (num < 0) return null; 36 | if (num == 0) return []; 37 | 38 | var result = []; 39 | var power = x; 40 | while (true) { 41 | if (num & 1) { 42 | result = add(result, power, base); 43 | } 44 | num = num >> 1; 45 | if (num === 0) break; 46 | power = add(power, power, base); 47 | } 48 | 49 | return result; 50 | } 51 | 52 | function parseToDigitsArray(str, base) { 53 | var digits = str.split(''); 54 | var ary = []; 55 | for (var i = digits.length - 1; i >= 0; i--) { 56 | var n = parseInt(digits[i], base); 57 | if (isNaN(n)) return null; 58 | ary.push(n); 59 | } 60 | return ary; 61 | } 62 | 63 | function convertBase(str, fromBase, toBase) { 64 | var digits = parseToDigitsArray(str, fromBase); 65 | if (digits === null) return null; 66 | 67 | var outArray = []; 68 | var power = [1]; 69 | for (var i = 0; i < digits.length; i++) { 70 | // invariant: at this point, fromBase^i = power 71 | if (digits[i]) { 72 | outArray = add(outArray, multiplyByNumber(digits[i], power, toBase), toBase); 73 | } 74 | power = multiplyByNumber(fromBase, power, toBase); 75 | } 76 | 77 | var out = ''; 78 | for (var i = outArray.length - 1; i >= 0; i--) { 79 | out += outArray[i].toString(toBase); 80 | } 81 | return out; 82 | } 83 | 84 | function decToHex(decStr) { 85 | var hex = convertBase(decStr, 10, 16); 86 | return hex ? '0x' + hex : null; 87 | } 88 | 89 | function hexToDec(hexStr) { 90 | if (hexStr.substring(0, 2) === '0x') hexStr = hexStr.substring(2); 91 | hexStr = hexStr.toLowerCase(); 92 | return convertBase(hexStr, 16, 10); 93 | } -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/js/import_addresses.js: -------------------------------------------------------------------------------- 1 | var fileChooser = document.createElement("input"); 2 | fileChooser.type = 'file'; 3 | fileChooser.style.margin = "0 0 0 -3000px"; 4 | 5 | fileChooser.addEventListener('change', function (evt) { 6 | var f = evt.target.files[0]; 7 | 8 | var extension = f.name.split('.').pop().toLowerCase(); 9 | 10 | 11 | if(f && extension == "json") { 12 | var reader = new FileReader(); 13 | reader.onload = function(e) { 14 | 15 | 16 | 17 | var contents = e.target.result; 18 | 19 | var jsonObj = JSON.parse( contents ); 20 | 21 | chrome.storage.local.set( 22 | { 23 | 'imported_labels': jsonObj 24 | }, function () { 25 | 26 | window.alert("Addresses Imported! You must re-open Tokenly Pockets."); 27 | 28 | 29 | }); 30 | 31 | } 32 | reader.readAsText(f); 33 | } else { 34 | 35 | window.alert("Error! You must import a valid JSON file."); 36 | 37 | } 38 | }); 39 | 40 | document.body.appendChild(fileChooser); 41 | 42 | fileChooser.click(); 43 | -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/js/issuancebutton.js: -------------------------------------------------------------------------------- 1 | //var address = $(".companion-tip-address").text(); 2 | 3 | var iconpath = chrome.extension.getURL('pockets-48.png'); 4 | var tipsplash = chrome.extension.getURL('issue-tx.html'); 5 | var tipsplashwt = chrome.extension.getURL('issue-tx-wt.html'); 6 | 7 | $('.issue-button').html(tipsplash); 8 | 9 | $('.issue-webtorrent-button').html(tipsplashwt); 10 | 11 | $('.issue-image').html(iconpath); 12 | 13 | 14 | 15 | //function loadAddressIssuance() { 16 | // 17 | // var string = $('body').data('pp'); 18 | // var array = string.split(" "); 19 | // m = new Mnemonic(array); 20 | // 21 | // var HDPrivateKey = bitcore.HDPrivateKey.fromSeed(m.toHex(), bitcore.Networks.livenet); 22 | // 23 | // 24 | // chrome.storage.local.get(function(data) { 25 | // 26 | // var addresslabels = data.addressinfo; 27 | // 28 | // 29 | // 30 | // 31 | // for (var i = 0; i <= addresslabels.length; i++) { 32 | // 33 | // var derived = HDPrivateKey.derive("m/0'/0/" + i); 34 | // var address1 = new bitcore.Address(derived.publicKey, bitcore.Networks.livenet); 35 | // 36 | // var pubkey = address1.toString(); 37 | // 38 | // //$(".addressselect").append(""); 39 | // 40 | // $(".addressselectnoadd").append(""); 41 | // } 42 | // 43 | // }); 44 | //}; -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/js/tipbutton.js: -------------------------------------------------------------------------------- 1 | //var address = $(".companion-tip-address").text(); 2 | 3 | var iconpathicon = chrome.extension.getURL('pockets-48.png'); 4 | var iconpathblue = chrome.extension.getURL('images/paywithpockets-blue.png'); 5 | var iconpathyellow = chrome.extension.getURL('images/paywithpockets-yellow.png'); 6 | var iconpathgreen = chrome.extension.getURL('images/paywithpockets-green.png'); 7 | var tipsplash = chrome.extension.getURL('tipsplash.html'); 8 | 9 | //$('.pockets-url').html(tipsplash); 10 | //$('.pockets-image').html(iconpathblue); 11 | //$('.pockets-image-blue').html(iconpathblue); 12 | //$('.pockets-image-yellow').html(iconpathyellow); 13 | //$('.pockets-image-green').html(iconpathgreen); 14 | //$('.pockets-image-icon').html(iconpathicon); 15 | // 16 | //$('.pockets-payment-button').each(function(i, obj) { 17 | // 18 | // var buttoncolor = $(this).attr("data-color"); 19 | // 20 | // if (buttoncolor == "yellow") { 21 | // var iconcolor = "yellow"; 22 | // var iconwidth = 160; 23 | // iconpath = chrome.extension.getURL('images/paywithpockets-'+iconcolor+'.png'); 24 | // } else if (buttoncolor == "green") { 25 | // var iconcolor = "green"; 26 | // var iconwidth = 160; 27 | // iconpath = chrome.extension.getURL('images/paywithpockets-'+iconcolor+'.png'); 28 | // } else if (buttoncolor == "icon") { 29 | // var iconcolor = "icon"; 30 | // var iconwidth = 24; 31 | // iconpath = chrome.extension.getURL('pockets-48.png'); 32 | // } else { 33 | // var iconcolor = "blue"; 34 | // var iconwidth = 160; 35 | // iconpath = chrome.extension.getURL('images/paywithpockets-'+iconcolor+'.png'); 36 | // } 37 | // 38 | // var address = $(this).attr("data-address"); 39 | // var label = $(this).attr("data-label"); 40 | //// var isxcp = $(this).attr("data-isxcp"); 41 | // var tokens = $(this).attr("data-tokens"); 42 | // var amount = $(this).attr("data-amount"); 43 | // 44 | // var labelurl = encodeURIComponent(label).replace(/[!'()*]/g, escape); 45 | // var tokensurl = encodeURIComponent(tokens); 46 | // 47 | // var tipbutton = "
"; 48 | // 49 | // //"&isxcp="+isxcp+ 50 | // 51 | // $(this).html(tipbutton); 52 | // 53 | //}); 54 | 55 | 56 | 57 | 58 | -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/js/xcp-js/decode.js: -------------------------------------------------------------------------------- 1 | 2 | function get_xcp_encoded(tx_id, callback) { 3 | 4 | var source_html = "https://blockchain.info/rawtx/"+tx_id+"?format=json&cors=true"; 5 | 6 | var target_tx = new Array(); 7 | 8 | $.getJSON( source_html, function( target_tx ) { 9 | 10 | var tx_index = target_tx.inputs[0].prev_out.tx_index; 11 | 12 | //console.log(tx_index); 13 | 14 | $.each(target_tx['out'], function(i, item) { 15 | 16 | if ("addr3" in target_tx['out'][i]){ 17 | var target_script = target_tx['out'][i].script; 18 | var haystack = target_script; 19 | 20 | //address_from_pubkeyhash(haystack.substring(70, 4)); 21 | 22 | var finddata = haystack.substring(68, 6); 23 | 24 | finddata += haystack.substring(136, 74); 25 | 26 | var xcp_pubkey_data = finddata; 27 | 28 | console.log(xcp_pubkey_data); 29 | 30 | var source_html_tx_index = "https://blockchain.info/tx-index/"+tx_index+"?format=json&cors=true"; 31 | 32 | $.getJSON( source_html_tx_index, xcp_pubkey_data, function( data ) { 33 | 34 | //console.log(data.hash); 35 | //console.log(xcp_pubkey_data); 36 | 37 | var xcp_decoded = xcp_rc4(data.hash, xcp_pubkey_data); 38 | 39 | callback(data.hash, xcp_decoded); 40 | 41 | }); 42 | 43 | } 44 | 45 | 46 | }); 47 | 48 | }); 49 | 50 | } 51 | 52 | function get_xcp_encoded_opreturn(tx_id, callback) { 53 | 54 | 55 | var source_html = "https://chain.so/api/v2/get_tx/BTC/"+tx_id; 56 | //var source_html = "https://blockchain.info/rawtx/"+tx_id+"?format=json&cors=true"; 57 | 58 | var target_tx = new Array(); 59 | 60 | $.getJSON( source_html, function( target_tx ) { 61 | 62 | var tx_index = target_tx.data.inputs[0].from_output.txid; 63 | //var tx_index = target_tx.inputs[0].prev_out.tx_index; 64 | 65 | //console.log(tx_index); 66 | 67 | $.each(target_tx.data.outputs, function(i, item) { 68 | 69 | if ((target_tx.data.outputs[i].address == "nonstandard")){ 70 | var target_script = target_tx.data.outputs[i].script; 71 | var xcp_pubkey_data = target_script.substring(10); 72 | 73 | 74 | 75 | var source_html_tx_index = "https://chain.so/api/v2/get_tx/BTC/"+tx_index; 76 | 77 | $.getJSON( source_html_tx_index, xcp_pubkey_data, function( data ) { 78 | 79 | //console.log(data.hash); 80 | //console.log(xcp_pubkey_data); 81 | 82 | var xcp_decoded = xcp_rc4(data.data.txid, xcp_pubkey_data); 83 | 84 | xcp_decoded = "1c"+xcp_decoded; //add first byte to simulate OP_CHECKMULTISIG 85 | 86 | callback(data.data.txid, xcp_decoded); 87 | 88 | }); 89 | 90 | } 91 | 92 | 93 | }); 94 | 95 | }); 96 | 97 | } 98 | 99 | 100 | -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/js/xcp-js/rc4.js: -------------------------------------------------------------------------------- 1 | function rc4(key, str) { 2 | 3 | //https://gist.github.com/farhadi/2185197 4 | 5 | var s = [], j = 0, x, res = ''; 6 | for (var i = 0; i < 256; i++) { 7 | s[i] = i; 8 | } 9 | for (i = 0; i < 256; i++) { 10 | j = (j + s[i] + key.charCodeAt(i % key.length)) % 256; 11 | x = s[i]; 12 | s[i] = s[j]; 13 | s[j] = x; 14 | } 15 | i = 0; 16 | j = 0; 17 | for (var y = 0; y < str.length; y++) { 18 | i = (i + 1) % 256; 19 | j = (j + s[i]) % 256; 20 | x = s[i]; 21 | s[i] = s[j]; 22 | s[j] = x; 23 | res += String.fromCharCode(str.charCodeAt(y) ^ s[(s[i] + s[j]) % 256]); 24 | } 25 | return res; 26 | 27 | } -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/key-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/lib/chrome-wallet-mod/key-icon.png -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/labeltag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/lib/chrome-wallet-mod/labeltag.png -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "Joe Looney", 3 | "background": { 4 | "scripts": [ "js/jquery.min.js" ] 5 | }, 6 | "browser_action": { 7 | "default_icon": "images/icon-48.png", 8 | "default_popup": "popup.html" 9 | }, 10 | "description": "Wallet powered by Bitcoin and Counterparty", 11 | "icons": { 12 | "128": "images/icon-128.png", 13 | "16": "images/icon-16.png", 14 | "48": "images/icon-48.png" 15 | }, 16 | "content_scripts": [ 17 | { 18 | "matches": ["*://chain.so/*"], 19 | "js": ["js/jquery.min.js", "js/biginteger.js", "js/hex2dec-cs.js", "js/detect.js", "js/bitcoinjs-min.js"] 20 | } 21 | ], 22 | // "web_accessible_resources": [ 23 | // "*.png", 24 | // "tipsplash.html", 25 | // "issue-tx.html", 26 | // "issueticker.js", 27 | // "issue-tx-wt.html", 28 | // "issueticker-wt.js", 29 | // "js/jquery.min.js", 30 | // "js/bootstrap.min.js", 31 | // "js/apiserver.js", 32 | // "js/aes.js", 33 | // "js/biginteger.js", 34 | // "js/utxo.js", 35 | // "js/xcp-js/transactions.js", 36 | // "js/xcp-js/rc4.js", 37 | // "js/xcp-js/convert-type.js", 38 | // "js/xcp-js/decode.js", 39 | // "popup.js", 40 | // "js/mnemonic.js", 41 | // "js/bitcore/bitcore.min.js", 42 | // "js/bitcoinsig.js", 43 | // "js/brainlite.js", 44 | // "js/bitcoinjs-min.js", 45 | // "js/qrcode.min.js", 46 | // "bootstrap.min.css", 47 | // "tipsplash.js", 48 | // "tipticker.js", 49 | // "js/glidera.js", 50 | // "js/glideraRegister.js" 51 | // ], 52 | "manifest_version": 2, 53 | "name": "XCP Wallet", 54 | "permissions": [ "storage", "clipboardWrite", "downloads", "activeTab" ], 55 | "short_name": "XCP Wallet", 56 | "version": "1.0.0" 57 | } 58 | -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/news-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/lib/chrome-wallet-mod/news-icon.png -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/pc-icon-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/lib/chrome-wallet-mod/pc-icon-white.png -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/pc-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/lib/chrome-wallet-mod/pc-icon.png -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/pin_bg/0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/lib/chrome-wallet-mod/pin_bg/0.png -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/pin_bg/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/lib/chrome-wallet-mod/pin_bg/1.png -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/pin_bg/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/lib/chrome-wallet-mod/pin_bg/2.png -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/pin_bg/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/lib/chrome-wallet-mod/pin_bg/3.png -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/pin_bg/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/lib/chrome-wallet-mod/pin_bg/4.png -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/lib/chrome-wallet-mod/refresh.png -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/register.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/lib/chrome-wallet-mod/register.png -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/rolodex-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/lib/chrome-wallet-mod/rolodex-icon.png -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/setupss.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/lib/chrome-wallet-mod/setupss.png -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/sign_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/lib/chrome-wallet-mod/sign_icon.png -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/splashlogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/lib/chrome-wallet-mod/splashlogo.png -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/ss-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/lib/chrome-wallet-mod/ss-icon.png -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/swapbot-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/lib/chrome-wallet-mod/swapbot-icon.png -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/test/asset_send.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 60 | 61 | 62 | 63 | 64 | 65 |

Create XCP Asset Send - BTC Raw Transaction

66 |
Use https://blockchain.info/pushtx to broadcast a raw transaction to the Bitcoin network
67 |
Mnemonic Passphrase (12 words)
68 | 69 | 70 |
Sending Address
71 | 72 | 73 |
Receiving Address
74 | 75 | 76 |
Asset
77 | 78 | 79 |
Send Amount
80 | 81 | 82 |
Divisible
83 | 84 | 85 | 86 |
87 | 88 |
89 | 90 |
91 | 92 | 93 | 94 | 95 | 96 | -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/test/extract_data.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 38 | 39 | 40 |

Extract XCP Asset Send Transaction Data (multi-sig encoded only)

41 |
Tx Hash
42 | 43 | 44 |
45 | 46 | 47 | 48 | 49 | 50 |
Hashed Data:
51 | 52 |
Asset ID:
53 | 54 |
Asset Amount:
55 | 56 | 57 | 58 | -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/test/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |

Create XCP Asset Send - BTC Raw Transaction

10 | 11 |

Extract XCP Asset Send Transaction Data (multi-sig encoded only)

12 | 13 | 14 | -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/tokenslot-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/lib/chrome-wallet-mod/tokenslot-icon.png -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/verify-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/lib/chrome-wallet-mod/verify-icon.png -------------------------------------------------------------------------------- /lib/chrome-wallet-mod/wallet_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/lib/chrome-wallet-mod/wallet_icon.png -------------------------------------------------------------------------------- /lib/cryptojs v3.1.2/components/aes-min.js: -------------------------------------------------------------------------------- 1 | /* 2 | CryptoJS v3.1.2 3 | code.google.com/p/crypto-js 4 | (c) 2009-2013 by Jeff Mott. All rights reserved. 5 | code.google.com/p/crypto-js/wiki/License 6 | */ 7 | (function(){for(var q=CryptoJS,x=q.lib.BlockCipher,r=q.algo,j=[],y=[],z=[],A=[],B=[],C=[],s=[],u=[],v=[],w=[],g=[],k=0;256>k;k++)g[k]=128>k?k<<1:k<<1^283;for(var n=0,l=0,k=0;256>k;k++){var f=l^l<<1^l<<2^l<<3^l<<4,f=f>>>8^f&255^99;j[n]=f;y[f]=n;var t=g[n],D=g[t],E=g[D],b=257*g[f]^16843008*f;z[n]=b<<24|b>>>8;A[n]=b<<16|b>>>16;B[n]=b<<8|b>>>24;C[n]=b;b=16843009*E^65537*D^257*t^16843008*n;s[f]=b<<24|b>>>8;u[f]=b<<16|b>>>16;v[f]=b<<8|b>>>24;w[f]=b;n?(n=t^g[g[g[E^t]]],l^=g[g[l]]):n=l=1}var F=[0,1,2,4,8, 8 | 16,32,64,128,27,54],r=r.AES=x.extend({_doReset:function(){for(var c=this._key,e=c.words,a=c.sigBytes/4,c=4*((this._nRounds=a+6)+1),b=this._keySchedule=[],h=0;h>>24]<<24|j[d>>>16&255]<<16|j[d>>>8&255]<<8|j[d&255]):(d=d<<8|d>>>24,d=j[d>>>24]<<24|j[d>>>16&255]<<16|j[d>>>8&255]<<8|j[d&255],d^=F[h/a|0]<<24);b[h]=b[h-a]^d}e=this._invKeySchedule=[];for(a=0;aa||4>=h?d:s[j[d>>>24]]^u[j[d>>>16&255]]^v[j[d>>> 9 | 8&255]]^w[j[d&255]]},encryptBlock:function(c,e){this._doCryptBlock(c,e,this._keySchedule,z,A,B,C,j)},decryptBlock:function(c,e){var a=c[e+1];c[e+1]=c[e+3];c[e+3]=a;this._doCryptBlock(c,e,this._invKeySchedule,s,u,v,w,y);a=c[e+1];c[e+1]=c[e+3];c[e+3]=a},_doCryptBlock:function(c,e,a,b,h,d,j,m){for(var n=this._nRounds,f=c[e]^a[0],g=c[e+1]^a[1],k=c[e+2]^a[2],p=c[e+3]^a[3],l=4,t=1;t>>24]^h[g>>>16&255]^d[k>>>8&255]^j[p&255]^a[l++],r=b[g>>>24]^h[k>>>16&255]^d[p>>>8&255]^j[f&255]^a[l++],s= 10 | b[k>>>24]^h[p>>>16&255]^d[f>>>8&255]^j[g&255]^a[l++],p=b[p>>>24]^h[f>>>16&255]^d[g>>>8&255]^j[k&255]^a[l++],f=q,g=r,k=s;q=(m[f>>>24]<<24|m[g>>>16&255]<<16|m[k>>>8&255]<<8|m[p&255])^a[l++];r=(m[g>>>24]<<24|m[k>>>16&255]<<16|m[p>>>8&255]<<8|m[f&255])^a[l++];s=(m[k>>>24]<<24|m[p>>>16&255]<<16|m[f>>>8&255]<<8|m[g&255])^a[l++];p=(m[p>>>24]<<24|m[f>>>16&255]<<16|m[g>>>8&255]<<8|m[k&255])^a[l++];c[e]=q;c[e+1]=r;c[e+2]=s;c[e+3]=p},keySize:8});q.AES=x._createHelper(r)})(); 11 | -------------------------------------------------------------------------------- /lib/cryptojs v3.1.2/components/core-min.js: -------------------------------------------------------------------------------- 1 | /* 2 | CryptoJS v3.1.2 3 | code.google.com/p/crypto-js 4 | (c) 2009-2013 by Jeff Mott. All rights reserved. 5 | code.google.com/p/crypto-js/wiki/License 6 | */ 7 | var CryptoJS=CryptoJS||function(h,r){var k={},l=k.lib={},n=function(){},f=l.Base={extend:function(a){n.prototype=this;var b=new n;a&&b.mixIn(a);b.hasOwnProperty("init")||(b.init=function(){b.$super.init.apply(this,arguments)});b.init.prototype=b;b.$super=this;return b},create:function(){var a=this.extend();a.init.apply(a,arguments);return a},init:function(){},mixIn:function(a){for(var b in a)a.hasOwnProperty(b)&&(this[b]=a[b]);a.hasOwnProperty("toString")&&(this.toString=a.toString)},clone:function(){return this.init.prototype.extend(this)}}, 8 | j=l.WordArray=f.extend({init:function(a,b){a=this.words=a||[];this.sigBytes=b!=r?b:4*a.length},toString:function(a){return(a||s).stringify(this)},concat:function(a){var b=this.words,d=a.words,c=this.sigBytes;a=a.sigBytes;this.clamp();if(c%4)for(var e=0;e>>2]|=(d[e>>>2]>>>24-8*(e%4)&255)<<24-8*((c+e)%4);else if(65535>>2]=d[e>>>2];else b.push.apply(b,d);this.sigBytes+=a;return this},clamp:function(){var a=this.words,b=this.sigBytes;a[b>>>2]&=4294967295<< 9 | 32-8*(b%4);a.length=h.ceil(b/4)},clone:function(){var a=f.clone.call(this);a.words=this.words.slice(0);return a},random:function(a){for(var b=[],d=0;d>>2]>>>24-8*(c%4)&255;d.push((e>>>4).toString(16));d.push((e&15).toString(16))}return d.join("")},parse:function(a){for(var b=a.length,d=[],c=0;c>>3]|=parseInt(a.substr(c, 10 | 2),16)<<24-4*(c%8);return new j.init(d,b/2)}},p=m.Latin1={stringify:function(a){var b=a.words;a=a.sigBytes;for(var d=[],c=0;c>>2]>>>24-8*(c%4)&255));return d.join("")},parse:function(a){for(var b=a.length,d=[],c=0;c>>2]|=(a.charCodeAt(c)&255)<<24-8*(c%4);return new j.init(d,b)}},t=m.Utf8={stringify:function(a){try{return decodeURIComponent(escape(p.stringify(a)))}catch(b){throw Error("Malformed UTF-8 data");}},parse:function(a){return p.parse(unescape(encodeURIComponent(a)))}}, 11 | q=l.BufferedBlockAlgorithm=f.extend({reset:function(){this._data=new j.init;this._nDataBytes=0},_append:function(a){"string"==typeof a&&(a=t.parse(a));this._data.concat(a);this._nDataBytes+=a.sigBytes},_process:function(a){var b=this._data,d=b.words,c=b.sigBytes,e=this.blockSize,f=c/(4*e),f=a?h.ceil(f):h.max((f|0)-this._minBufferSize,0);a=f*e;c=h.min(4*a,c);if(a){for(var g=0;g>>2]>>>24-8*(a%4)&255)<<16|(e[a+1>>>2]>>>24-8*((a+1)%4)&255)<<8|e[a+2>>>2]>>>24-8*((a+2)%4)&255,g=0;4>g&&a+0.75*g>>6*(3-g)&63));if(e=c.charAt(64))for(;b.length%4;)b.push(e);return b.join("")},parse:function(b){var e=b.length,f=this._map,c=f.charAt(64);c&&(c=b.indexOf(c),-1!=c&&(e=c));for(var c=[],a=0,d=0;d< 8 | e;d++)if(d%4){var g=f.indexOf(b.charAt(d-1))<<2*(d%4),h=f.indexOf(b.charAt(d))>>>6-2*(d%4);c[a>>>2]|=(g|h)<<24-8*(a%4);a++}return j.create(c,a)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}})(); 9 | -------------------------------------------------------------------------------- /lib/cryptojs v3.1.2/components/enc-utf16-min.js: -------------------------------------------------------------------------------- 1 | /* 2 | CryptoJS v3.1.2 3 | code.google.com/p/crypto-js 4 | (c) 2009-2013 by Jeff Mott. All rights reserved. 5 | code.google.com/p/crypto-js/wiki/License 6 | */ 7 | (function(){var e=CryptoJS,f=e.lib.WordArray,e=e.enc;e.Utf16=e.Utf16BE={stringify:function(b){var d=b.words;b=b.sigBytes;for(var c=[],a=0;a>>2]>>>16-8*(a%4)&65535));return c.join("")},parse:function(b){for(var d=b.length,c=[],a=0;a>>1]|=b.charCodeAt(a)<<16-16*(a%2);return f.create(c,2*d)}};e.Utf16LE={stringify:function(b){var d=b.words;b=b.sigBytes;for(var c=[],a=0;a>>2]>>>16-8*(a%4)&65535)<<8&4278255360|(d[a>>> 8 | 2]>>>16-8*(a%4)&65535)>>>8&16711935));return c.join("")},parse:function(b){for(var d=b.length,c=[],a=0;a>>1,j=e[g],h=b.charCodeAt(a)<<16-16*(a%2);e[g]=j|h<<8&4278255360|h>>>8&16711935}return f.create(c,2*d)}}})(); 9 | -------------------------------------------------------------------------------- /lib/cryptojs v3.1.2/components/evpkdf-min.js: -------------------------------------------------------------------------------- 1 | /* 2 | CryptoJS v3.1.2 3 | code.google.com/p/crypto-js 4 | (c) 2009-2013 by Jeff Mott. All rights reserved. 5 | code.google.com/p/crypto-js/wiki/License 6 | */ 7 | (function(){var b=CryptoJS,a=b.lib,f=a.Base,k=a.WordArray,a=b.algo,l=a.EvpKDF=f.extend({cfg:f.extend({keySize:4,hasher:a.MD5,iterations:1}),init:function(a){this.cfg=this.cfg.extend(a)},compute:function(a,b){for(var c=this.cfg,d=c.hasher.create(),g=k.create(),f=g.words,h=c.keySize,c=c.iterations;f.lengthe&&(b=a.finalize(b));b.clamp();for(var f=this._oKey=b.clone(),g=this._iKey=b.clone(),h=f.words,j=g.words,d=0;d>>2]|=a[c]<< 8 | 24-8*(c%4);e.call(this,d,b)}else e.apply(this,arguments)}).prototype=b}})(); 9 | -------------------------------------------------------------------------------- /lib/cryptojs v3.1.2/components/lib-typedarrays.js: -------------------------------------------------------------------------------- 1 | /* 2 | CryptoJS v3.1.2 3 | code.google.com/p/crypto-js 4 | (c) 2009-2013 by Jeff Mott. All rights reserved. 5 | code.google.com/p/crypto-js/wiki/License 6 | */ 7 | (function () { 8 | // Check if typed arrays are supported 9 | if (typeof ArrayBuffer != 'function') { 10 | return; 11 | } 12 | 13 | // Shortcuts 14 | var C = CryptoJS; 15 | var C_lib = C.lib; 16 | var WordArray = C_lib.WordArray; 17 | 18 | // Reference original init 19 | var superInit = WordArray.init; 20 | 21 | // Augment WordArray.init to handle typed arrays 22 | var subInit = WordArray.init = function (typedArray) { 23 | // Convert buffers to uint8 24 | if (typedArray instanceof ArrayBuffer) { 25 | typedArray = new Uint8Array(typedArray); 26 | } 27 | 28 | // Convert other array views to uint8 29 | if ( 30 | typedArray instanceof Int8Array || 31 | typedArray instanceof Uint8ClampedArray || 32 | typedArray instanceof Int16Array || 33 | typedArray instanceof Uint16Array || 34 | typedArray instanceof Int32Array || 35 | typedArray instanceof Uint32Array || 36 | typedArray instanceof Float32Array || 37 | typedArray instanceof Float64Array 38 | ) { 39 | typedArray = new Uint8Array(typedArray.buffer, typedArray.byteOffset, typedArray.byteLength); 40 | } 41 | 42 | // Handle Uint8Array 43 | if (typedArray instanceof Uint8Array) { 44 | // Shortcut 45 | var typedArrayByteLength = typedArray.byteLength; 46 | 47 | // Extract bytes 48 | var words = []; 49 | for (var i = 0; i < typedArrayByteLength; i++) { 50 | words[i >>> 2] |= typedArray[i] << (24 - (i % 4) * 8); 51 | } 52 | 53 | // Initialize this word array 54 | superInit.call(this, words, typedArrayByteLength); 55 | } else { 56 | // Else call normal init 57 | superInit.apply(this, arguments); 58 | } 59 | }; 60 | 61 | subInit.prototype = WordArray; 62 | }()); 63 | -------------------------------------------------------------------------------- /lib/cryptojs v3.1.2/components/md5-min.js: -------------------------------------------------------------------------------- 1 | /* 2 | CryptoJS v3.1.2 3 | code.google.com/p/crypto-js 4 | (c) 2009-2013 by Jeff Mott. All rights reserved. 5 | code.google.com/p/crypto-js/wiki/License 6 | */ 7 | (function(E){function h(a,f,g,j,p,h,k){a=a+(f&g|~f&j)+p+k;return(a<>>32-h)+f}function k(a,f,g,j,p,h,k){a=a+(f&j|g&~j)+p+k;return(a<>>32-h)+f}function l(a,f,g,j,h,k,l){a=a+(f^g^j)+h+l;return(a<>>32-k)+f}function n(a,f,g,j,h,k,l){a=a+(g^(f|~j))+h+l;return(a<>>32-k)+f}for(var r=CryptoJS,q=r.lib,F=q.WordArray,s=q.Hasher,q=r.algo,a=[],t=0;64>t;t++)a[t]=4294967296*E.abs(E.sin(t+1))|0;q=q.MD5=s.extend({_doReset:function(){this._hash=new F.init([1732584193,4023233417,2562383102,271733878])}, 8 | _doProcessBlock:function(m,f){for(var g=0;16>g;g++){var j=f+g,p=m[j];m[j]=(p<<8|p>>>24)&16711935|(p<<24|p>>>8)&4278255360}var g=this._hash.words,j=m[f+0],p=m[f+1],q=m[f+2],r=m[f+3],s=m[f+4],t=m[f+5],u=m[f+6],v=m[f+7],w=m[f+8],x=m[f+9],y=m[f+10],z=m[f+11],A=m[f+12],B=m[f+13],C=m[f+14],D=m[f+15],b=g[0],c=g[1],d=g[2],e=g[3],b=h(b,c,d,e,j,7,a[0]),e=h(e,b,c,d,p,12,a[1]),d=h(d,e,b,c,q,17,a[2]),c=h(c,d,e,b,r,22,a[3]),b=h(b,c,d,e,s,7,a[4]),e=h(e,b,c,d,t,12,a[5]),d=h(d,e,b,c,u,17,a[6]),c=h(c,d,e,b,v,22,a[7]), 9 | b=h(b,c,d,e,w,7,a[8]),e=h(e,b,c,d,x,12,a[9]),d=h(d,e,b,c,y,17,a[10]),c=h(c,d,e,b,z,22,a[11]),b=h(b,c,d,e,A,7,a[12]),e=h(e,b,c,d,B,12,a[13]),d=h(d,e,b,c,C,17,a[14]),c=h(c,d,e,b,D,22,a[15]),b=k(b,c,d,e,p,5,a[16]),e=k(e,b,c,d,u,9,a[17]),d=k(d,e,b,c,z,14,a[18]),c=k(c,d,e,b,j,20,a[19]),b=k(b,c,d,e,t,5,a[20]),e=k(e,b,c,d,y,9,a[21]),d=k(d,e,b,c,D,14,a[22]),c=k(c,d,e,b,s,20,a[23]),b=k(b,c,d,e,x,5,a[24]),e=k(e,b,c,d,C,9,a[25]),d=k(d,e,b,c,r,14,a[26]),c=k(c,d,e,b,w,20,a[27]),b=k(b,c,d,e,B,5,a[28]),e=k(e,b, 10 | c,d,q,9,a[29]),d=k(d,e,b,c,v,14,a[30]),c=k(c,d,e,b,A,20,a[31]),b=l(b,c,d,e,t,4,a[32]),e=l(e,b,c,d,w,11,a[33]),d=l(d,e,b,c,z,16,a[34]),c=l(c,d,e,b,C,23,a[35]),b=l(b,c,d,e,p,4,a[36]),e=l(e,b,c,d,s,11,a[37]),d=l(d,e,b,c,v,16,a[38]),c=l(c,d,e,b,y,23,a[39]),b=l(b,c,d,e,B,4,a[40]),e=l(e,b,c,d,j,11,a[41]),d=l(d,e,b,c,r,16,a[42]),c=l(c,d,e,b,u,23,a[43]),b=l(b,c,d,e,x,4,a[44]),e=l(e,b,c,d,A,11,a[45]),d=l(d,e,b,c,D,16,a[46]),c=l(c,d,e,b,q,23,a[47]),b=n(b,c,d,e,j,6,a[48]),e=n(e,b,c,d,v,10,a[49]),d=n(d,e,b,c, 11 | C,15,a[50]),c=n(c,d,e,b,t,21,a[51]),b=n(b,c,d,e,A,6,a[52]),e=n(e,b,c,d,r,10,a[53]),d=n(d,e,b,c,y,15,a[54]),c=n(c,d,e,b,p,21,a[55]),b=n(b,c,d,e,w,6,a[56]),e=n(e,b,c,d,D,10,a[57]),d=n(d,e,b,c,u,15,a[58]),c=n(c,d,e,b,B,21,a[59]),b=n(b,c,d,e,s,6,a[60]),e=n(e,b,c,d,z,10,a[61]),d=n(d,e,b,c,q,15,a[62]),c=n(c,d,e,b,x,21,a[63]);g[0]=g[0]+b|0;g[1]=g[1]+c|0;g[2]=g[2]+d|0;g[3]=g[3]+e|0},_doFinalize:function(){var a=this._data,f=a.words,g=8*this._nDataBytes,j=8*a.sigBytes;f[j>>>5]|=128<<24-j%32;var h=E.floor(g/ 12 | 4294967296);f[(j+64>>>9<<4)+15]=(h<<8|h>>>24)&16711935|(h<<24|h>>>8)&4278255360;f[(j+64>>>9<<4)+14]=(g<<8|g>>>24)&16711935|(g<<24|g>>>8)&4278255360;a.sigBytes=4*(f.length+1);this._process();a=this._hash;f=a.words;for(g=0;4>g;g++)j=f[g],f[g]=(j<<8|j>>>24)&16711935|(j<<24|j>>>8)&4278255360;return a},clone:function(){var a=s.clone.call(this);a._hash=this._hash.clone();return a}});r.MD5=s._createHelper(q);r.HmacMD5=s._createHmacHelper(q)})(Math); 13 | -------------------------------------------------------------------------------- /lib/cryptojs v3.1.2/components/mode-cfb-min.js: -------------------------------------------------------------------------------- 1 | /* 2 | CryptoJS v3.1.2 3 | code.google.com/p/crypto-js 4 | (c) 2009-2013 by Jeff Mott. All rights reserved. 5 | code.google.com/p/crypto-js/wiki/License 6 | */ 7 | CryptoJS.mode.CFB=function(){function g(c,b,e,a){var d=this._iv;d?(d=d.slice(0),this._iv=void 0):d=this._prevBlock;a.encryptBlock(d,0);for(a=0;a>24&255)){var c=a>>16&255,b=a>>8&255,e=a&255;255===c?(c=0,255===b?(b=0,255===e?e=0:++e):++b):++c;a=0+(c<<16)+(b<<8);a+=e}else a+=16777216;return a}var g=CryptoJS.lib.BlockCipherMode.extend(),j=g.Encryptor=g.extend({processBlock:function(a,c){var b=this._cipher,e=b.blockSize,d=this._iv,f=this._counter;d&&(f=this._counter=d.slice(0),this._iv=void 0);d=f;if(0===(d[0]=h(d[0])))d[1]=h(d[1]);f=f.slice(0);b.encryptBlock(f,0);for(b=0;b> 24) & 0xff) === 0xff) { //overflow 18 | var b1 = (word >> 16)&0xff; 19 | var b2 = (word >> 8)&0xff; 20 | var b3 = word & 0xff; 21 | 22 | if (b1 === 0xff) // overflow b1 23 | { 24 | b1 = 0; 25 | if (b2 === 0xff) 26 | { 27 | b2 = 0; 28 | if (b3 === 0xff) 29 | { 30 | b3 = 0; 31 | } 32 | else 33 | { 34 | ++b3; 35 | } 36 | } 37 | else 38 | { 39 | ++b2; 40 | } 41 | } 42 | else 43 | { 44 | ++b1; 45 | } 46 | 47 | word = 0; 48 | word += (b1 << 16); 49 | word += (b2 << 8); 50 | word += b3; 51 | } 52 | else 53 | { 54 | word += (0x01 << 24); 55 | } 56 | return word; 57 | } 58 | 59 | function incCounter(counter) 60 | { 61 | if ((counter[0] = incWord(counter[0])) === 0) 62 | { 63 | // encr_data in fileenc.c from Dr Brian Gladman's counts only with DWORD j < 8 64 | counter[1] = incWord(counter[1]); 65 | } 66 | return counter; 67 | } 68 | 69 | var Encryptor = CTRGladman.Encryptor = CTRGladman.extend({ 70 | processBlock: function (words, offset) { 71 | // Shortcuts 72 | var cipher = this._cipher 73 | var blockSize = cipher.blockSize; 74 | var iv = this._iv; 75 | var counter = this._counter; 76 | 77 | // Generate keystream 78 | if (iv) { 79 | counter = this._counter = iv.slice(0); 80 | 81 | // Remove IV for subsequent blocks 82 | this._iv = undefined; 83 | } 84 | 85 | incCounter(counter); 86 | 87 | var keystream = counter.slice(0); 88 | cipher.encryptBlock(keystream, 0); 89 | 90 | // Encrypt 91 | for (var i = 0; i < blockSize; i++) { 92 | words[offset + i] ^= keystream[i]; 93 | } 94 | } 95 | }); 96 | 97 | CTRGladman.Decryptor = Encryptor; 98 | 99 | return CTRGladman; 100 | }()); 101 | 102 | 103 | -------------------------------------------------------------------------------- /lib/cryptojs v3.1.2/components/mode-ctr-min.js: -------------------------------------------------------------------------------- 1 | /* 2 | CryptoJS v3.1.2 3 | code.google.com/p/crypto-js 4 | (c) 2009-2013 by Jeff Mott. All rights reserved. 5 | code.google.com/p/crypto-js/wiki/License 6 | */ 7 | CryptoJS.mode.CTR=function(){var b=CryptoJS.lib.BlockCipherMode.extend(),g=b.Encryptor=b.extend({processBlock:function(b,f){var a=this._cipher,e=a.blockSize,c=this._iv,d=this._counter;c&&(d=this._counter=c.slice(0),this._iv=void 0);c=d.slice(0);a.encryptBlock(c,0);d[e-1]=d[e-1]+1|0;for(a=0;a>>2]|=c<<24-8*(b%4);a.sigBytes+=c},unpad:function(a){a.sigBytes-=a.words[a.sigBytes-1>>>2]&255}}; 8 | -------------------------------------------------------------------------------- /lib/cryptojs v3.1.2/components/pad-ansix923.js: -------------------------------------------------------------------------------- 1 | /* 2 | CryptoJS v3.1.2 3 | code.google.com/p/crypto-js 4 | (c) 2009-2013 by Jeff Mott. All rights reserved. 5 | code.google.com/p/crypto-js/wiki/License 6 | */ 7 | /** 8 | * ANSI X.923 padding strategy. 9 | */ 10 | CryptoJS.pad.AnsiX923 = { 11 | pad: function (data, blockSize) { 12 | // Shortcuts 13 | var dataSigBytes = data.sigBytes; 14 | var blockSizeBytes = blockSize * 4; 15 | 16 | // Count padding bytes 17 | var nPaddingBytes = blockSizeBytes - dataSigBytes % blockSizeBytes; 18 | 19 | // Compute last byte position 20 | var lastBytePos = dataSigBytes + nPaddingBytes - 1; 21 | 22 | // Pad 23 | data.clamp(); 24 | data.words[lastBytePos >>> 2] |= nPaddingBytes << (24 - (lastBytePos % 4) * 8); 25 | data.sigBytes += nPaddingBytes; 26 | }, 27 | 28 | unpad: function (data) { 29 | // Get number of padding bytes from last byte 30 | var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff; 31 | 32 | // Remove padding 33 | data.sigBytes -= nPaddingBytes; 34 | } 35 | }; 36 | -------------------------------------------------------------------------------- /lib/cryptojs v3.1.2/components/pad-iso10126-min.js: -------------------------------------------------------------------------------- 1 | /* 2 | CryptoJS v3.1.2 3 | code.google.com/p/crypto-js 4 | (c) 2009-2013 by Jeff Mott. All rights reserved. 5 | code.google.com/p/crypto-js/wiki/License 6 | */ 7 | CryptoJS.pad.Iso10126={pad:function(a,c){var b=4*c,b=b-a.sigBytes%b;a.concat(CryptoJS.lib.WordArray.random(b-1)).concat(CryptoJS.lib.WordArray.create([b<<24],1))},unpad:function(a){a.sigBytes-=a.words[a.sigBytes-1>>>2]&255}}; 8 | -------------------------------------------------------------------------------- /lib/cryptojs v3.1.2/components/pad-iso10126.js: -------------------------------------------------------------------------------- 1 | /* 2 | CryptoJS v3.1.2 3 | code.google.com/p/crypto-js 4 | (c) 2009-2013 by Jeff Mott. All rights reserved. 5 | code.google.com/p/crypto-js/wiki/License 6 | */ 7 | /** 8 | * ISO 10126 padding strategy. 9 | */ 10 | CryptoJS.pad.Iso10126 = { 11 | pad: function (data, blockSize) { 12 | // Shortcut 13 | var blockSizeBytes = blockSize * 4; 14 | 15 | // Count padding bytes 16 | var nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes; 17 | 18 | // Pad 19 | data.concat(CryptoJS.lib.WordArray.random(nPaddingBytes - 1)). 20 | concat(CryptoJS.lib.WordArray.create([nPaddingBytes << 24], 1)); 21 | }, 22 | 23 | unpad: function (data) { 24 | // Get number of padding bytes from last byte 25 | var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff; 26 | 27 | // Remove padding 28 | data.sigBytes -= nPaddingBytes; 29 | } 30 | }; 31 | -------------------------------------------------------------------------------- /lib/cryptojs v3.1.2/components/pad-iso97971-min.js: -------------------------------------------------------------------------------- 1 | /* 2 | CryptoJS v3.1.2 3 | code.google.com/p/crypto-js 4 | (c) 2009-2013 by Jeff Mott. All rights reserved. 5 | code.google.com/p/crypto-js/wiki/License 6 | */ 7 | CryptoJS.pad.Iso97971={pad:function(a,b){a.concat(CryptoJS.lib.WordArray.create([2147483648],1));CryptoJS.pad.ZeroPadding.pad(a,b)},unpad:function(a){CryptoJS.pad.ZeroPadding.unpad(a);a.sigBytes--}}; 8 | -------------------------------------------------------------------------------- /lib/cryptojs v3.1.2/components/pad-iso97971.js: -------------------------------------------------------------------------------- 1 | /* 2 | CryptoJS v3.1.2 3 | code.google.com/p/crypto-js 4 | (c) 2009-2013 by Jeff Mott. All rights reserved. 5 | code.google.com/p/crypto-js/wiki/License 6 | */ 7 | /** 8 | * ISO/IEC 9797-1 Padding Method 2. 9 | */ 10 | CryptoJS.pad.Iso97971 = { 11 | pad: function (data, blockSize) { 12 | // Add 0x80 byte 13 | data.concat(CryptoJS.lib.WordArray.create([0x80000000], 1)); 14 | 15 | // Zero pad the rest 16 | CryptoJS.pad.ZeroPadding.pad(data, blockSize); 17 | }, 18 | 19 | unpad: function (data) { 20 | // Remove zero padding 21 | CryptoJS.pad.ZeroPadding.unpad(data); 22 | 23 | // Remove one more byte -- the 0x80 byte 24 | data.sigBytes--; 25 | } 26 | }; 27 | -------------------------------------------------------------------------------- /lib/cryptojs v3.1.2/components/pad-nopadding-min.js: -------------------------------------------------------------------------------- 1 | /* 2 | CryptoJS v3.1.2 3 | code.google.com/p/crypto-js 4 | (c) 2009-2013 by Jeff Mott. All rights reserved. 5 | code.google.com/p/crypto-js/wiki/License 6 | */ 7 | CryptoJS.pad.NoPadding={pad:function(){},unpad:function(){}}; 8 | -------------------------------------------------------------------------------- /lib/cryptojs v3.1.2/components/pad-nopadding.js: -------------------------------------------------------------------------------- 1 | /* 2 | CryptoJS v3.1.2 3 | code.google.com/p/crypto-js 4 | (c) 2009-2013 by Jeff Mott. All rights reserved. 5 | code.google.com/p/crypto-js/wiki/License 6 | */ 7 | /** 8 | * A noop padding strategy. 9 | */ 10 | CryptoJS.pad.NoPadding = { 11 | pad: function () { 12 | }, 13 | 14 | unpad: function () { 15 | } 16 | }; 17 | -------------------------------------------------------------------------------- /lib/cryptojs v3.1.2/components/pad-zeropadding-min.js: -------------------------------------------------------------------------------- 1 | /* 2 | CryptoJS v3.1.2 3 | code.google.com/p/crypto-js 4 | (c) 2009-2013 by Jeff Mott. All rights reserved. 5 | code.google.com/p/crypto-js/wiki/License 6 | */ 7 | CryptoJS.pad.ZeroPadding={pad:function(a,c){var b=4*c;a.clamp();a.sigBytes+=b-(a.sigBytes%b||b)},unpad:function(a){for(var c=a.words,b=a.sigBytes-1;!(c[b>>>2]>>>24-8*(b%4)&255);)b--;a.sigBytes=b+1}}; 8 | -------------------------------------------------------------------------------- /lib/cryptojs v3.1.2/components/pad-zeropadding.js: -------------------------------------------------------------------------------- 1 | /* 2 | CryptoJS v3.1.2 3 | code.google.com/p/crypto-js 4 | (c) 2009-2013 by Jeff Mott. All rights reserved. 5 | code.google.com/p/crypto-js/wiki/License 6 | */ 7 | /** 8 | * Zero padding strategy. 9 | */ 10 | CryptoJS.pad.ZeroPadding = { 11 | pad: function (data, blockSize) { 12 | // Shortcut 13 | var blockSizeBytes = blockSize * 4; 14 | 15 | // Pad 16 | data.clamp(); 17 | data.sigBytes += blockSizeBytes - ((data.sigBytes % blockSizeBytes) || blockSizeBytes); 18 | }, 19 | 20 | unpad: function (data) { 21 | // Shortcut 22 | var dataWords = data.words; 23 | 24 | // Unpad 25 | var i = data.sigBytes - 1; 26 | while (!((dataWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff)) { 27 | i--; 28 | } 29 | data.sigBytes = i + 1; 30 | } 31 | }; 32 | -------------------------------------------------------------------------------- /lib/cryptojs v3.1.2/components/pbkdf2-min.js: -------------------------------------------------------------------------------- 1 | /* 2 | CryptoJS v3.1.2 3 | code.google.com/p/crypto-js 4 | (c) 2009-2013 by Jeff Mott. All rights reserved. 5 | code.google.com/p/crypto-js/wiki/License 6 | */ 7 | (function(){var b=CryptoJS,a=b.lib,d=a.Base,m=a.WordArray,a=b.algo,q=a.HMAC,l=a.PBKDF2=d.extend({cfg:d.extend({keySize:4,hasher:a.SHA1,iterations:1}),init:function(a){this.cfg=this.cfg.extend(a)},compute:function(a,b){for(var c=this.cfg,f=q.create(c.hasher,a),g=m.create(),d=m.create([1]),l=g.words,r=d.words,n=c.keySize,c=c.iterations;l.lengthc;c++)f[c]=d[c];d[0]=d[0]+1295307597+this._b|0;d[1]=d[1]+3545052371+(d[0]>>>0>>0?1:0)|0;d[2]=d[2]+886263092+(d[1]>>>0>>0?1:0)|0;d[3]=d[3]+1295307597+(d[2]>>>0>>0?1:0)|0;d[4]=d[4]+3545052371+(d[3]>>>0>>0?1:0)|0;d[5]=d[5]+886263092+(d[4]>>>0>>0?1:0)|0;d[6]=d[6]+1295307597+(d[5]>>>0>>0?1:0)|0;d[7]=d[7]+3545052371+(d[6]>>>0>>0?1:0)|0;this._b=d[7]>>>0>>0?1:0;for(c=0;8>c;c++){var h=a[c]+d[c],e=h&65535, 8 | g=h>>>16;b[c]=((e*e>>>17)+e*g>>>15)+g*g^((h&4294901760)*h|0)+((h&65535)*h|0)}a[0]=b[0]+(b[7]<<16|b[7]>>>16)+(b[6]<<16|b[6]>>>16)|0;a[1]=b[1]+(b[0]<<8|b[0]>>>24)+b[7]|0;a[2]=b[2]+(b[1]<<16|b[1]>>>16)+(b[0]<<16|b[0]>>>16)|0;a[3]=b[3]+(b[2]<<8|b[2]>>>24)+b[1]|0;a[4]=b[4]+(b[3]<<16|b[3]>>>16)+(b[2]<<16|b[2]>>>16)|0;a[5]=b[5]+(b[4]<<8|b[4]>>>24)+b[3]|0;a[6]=b[6]+(b[5]<<16|b[5]>>>16)+(b[4]<<16|b[4]>>>16)|0;a[7]=b[7]+(b[6]<<8|b[6]>>>24)+b[5]|0}var j=CryptoJS,k=j.lib.StreamCipher,e=[],f=[],b=[],l=j.algo.RabbitLegacy= 9 | k.extend({_doReset:function(){for(var a=this._key.words,d=this.cfg.iv,c=this._X=[a[0],a[3]<<16|a[2]>>>16,a[1],a[0]<<16|a[3]>>>16,a[2],a[1]<<16|a[0]>>>16,a[3],a[2]<<16|a[1]>>>16],a=this._C=[a[2]<<16|a[2]>>>16,a[0]&4294901760|a[1]&65535,a[3]<<16|a[3]>>>16,a[1]&4294901760|a[2]&65535,a[0]<<16|a[0]>>>16,a[2]&4294901760|a[3]&65535,a[1]<<16|a[1]>>>16,a[3]&4294901760|a[0]&65535],b=this._b=0;4>b;b++)g.call(this);for(b=0;8>b;b++)a[b]^=c[b+4&7];if(d){var c=d.words,d=c[0],c=c[1],d=(d<<8|d>>>24)&16711935|(d<< 10 | 24|d>>>8)&4278255360,c=(c<<8|c>>>24)&16711935|(c<<24|c>>>8)&4278255360,b=d>>>16|c&4294901760,e=c<<16|d&65535;a[0]^=d;a[1]^=b;a[2]^=c;a[3]^=e;a[4]^=d;a[5]^=b;a[6]^=c;a[7]^=e;for(b=0;4>b;b++)g.call(this)}},_doProcessBlock:function(a,b){var c=this._X;g.call(this);e[0]=c[0]^c[5]>>>16^c[3]<<16;e[1]=c[2]^c[7]>>>16^c[5]<<16;e[2]=c[4]^c[1]>>>16^c[7]<<16;e[3]=c[6]^c[3]>>>16^c[1]<<16;for(c=0;4>c;c++)e[c]=(e[c]<<8|e[c]>>>24)&16711935|(e[c]<<24|e[c]>>>8)&4278255360,a[b+c]^=e[c]},blockSize:4,ivSize:2});j.RabbitLegacy= 11 | k._createHelper(l)})(); 12 | -------------------------------------------------------------------------------- /lib/cryptojs v3.1.2/components/rabbit-min.js: -------------------------------------------------------------------------------- 1 | /* 2 | CryptoJS v3.1.2 3 | code.google.com/p/crypto-js 4 | (c) 2009-2013 by Jeff Mott. All rights reserved. 5 | code.google.com/p/crypto-js/wiki/License 6 | */ 7 | (function(){function g(){for(var b=this._X,d=this._C,a=0;8>a;a++)f[a]=d[a];d[0]=d[0]+1295307597+this._b|0;d[1]=d[1]+3545052371+(d[0]>>>0>>0?1:0)|0;d[2]=d[2]+886263092+(d[1]>>>0>>0?1:0)|0;d[3]=d[3]+1295307597+(d[2]>>>0>>0?1:0)|0;d[4]=d[4]+3545052371+(d[3]>>>0>>0?1:0)|0;d[5]=d[5]+886263092+(d[4]>>>0>>0?1:0)|0;d[6]=d[6]+1295307597+(d[5]>>>0>>0?1:0)|0;d[7]=d[7]+3545052371+(d[6]>>>0>>0?1:0)|0;this._b=d[7]>>>0>>0?1:0;for(a=0;8>a;a++){var h=b[a]+d[a],e=h&65535, 8 | g=h>>>16;c[a]=((e*e>>>17)+e*g>>>15)+g*g^((h&4294901760)*h|0)+((h&65535)*h|0)}b[0]=c[0]+(c[7]<<16|c[7]>>>16)+(c[6]<<16|c[6]>>>16)|0;b[1]=c[1]+(c[0]<<8|c[0]>>>24)+c[7]|0;b[2]=c[2]+(c[1]<<16|c[1]>>>16)+(c[0]<<16|c[0]>>>16)|0;b[3]=c[3]+(c[2]<<8|c[2]>>>24)+c[1]|0;b[4]=c[4]+(c[3]<<16|c[3]>>>16)+(c[2]<<16|c[2]>>>16)|0;b[5]=c[5]+(c[4]<<8|c[4]>>>24)+c[3]|0;b[6]=c[6]+(c[5]<<16|c[5]>>>16)+(c[4]<<16|c[4]>>>16)|0;b[7]=c[7]+(c[6]<<8|c[6]>>>24)+c[5]|0}var j=CryptoJS,k=j.lib.StreamCipher,e=[],f=[],c=[],l=j.algo.Rabbit= 9 | k.extend({_doReset:function(){for(var b=this._key.words,d=this.cfg.iv,a=0;4>a;a++)b[a]=(b[a]<<8|b[a]>>>24)&16711935|(b[a]<<24|b[a]>>>8)&4278255360;for(var c=this._X=[b[0],b[3]<<16|b[2]>>>16,b[1],b[0]<<16|b[3]>>>16,b[2],b[1]<<16|b[0]>>>16,b[3],b[2]<<16|b[1]>>>16],b=this._C=[b[2]<<16|b[2]>>>16,b[0]&4294901760|b[1]&65535,b[3]<<16|b[3]>>>16,b[1]&4294901760|b[2]&65535,b[0]<<16|b[0]>>>16,b[2]&4294901760|b[3]&65535,b[1]<<16|b[1]>>>16,b[3]&4294901760|b[0]&65535],a=this._b=0;4>a;a++)g.call(this);for(a=0;8> 10 | a;a++)b[a]^=c[a+4&7];if(d){var a=d.words,d=a[0],a=a[1],d=(d<<8|d>>>24)&16711935|(d<<24|d>>>8)&4278255360,a=(a<<8|a>>>24)&16711935|(a<<24|a>>>8)&4278255360,c=d>>>16|a&4294901760,e=a<<16|d&65535;b[0]^=d;b[1]^=c;b[2]^=a;b[3]^=e;b[4]^=d;b[5]^=c;b[6]^=a;b[7]^=e;for(a=0;4>a;a++)g.call(this)}},_doProcessBlock:function(b,c){var a=this._X;g.call(this);e[0]=a[0]^a[5]>>>16^a[3]<<16;e[1]=a[2]^a[7]>>>16^a[5]<<16;e[2]=a[4]^a[1]>>>16^a[7]<<16;e[3]=a[6]^a[3]>>>16^a[1]<<16;for(a=0;4>a;a++)e[a]=(e[a]<<8|e[a]>>>24)& 11 | 16711935|(e[a]<<24|e[a]>>>8)&4278255360,b[c+a]^=e[a]},blockSize:4,ivSize:2});j.Rabbit=k._createHelper(l)})(); 12 | -------------------------------------------------------------------------------- /lib/cryptojs v3.1.2/components/rc4-min.js: -------------------------------------------------------------------------------- 1 | /* 2 | CryptoJS v3.1.2 3 | code.google.com/p/crypto-js 4 | (c) 2009-2013 by Jeff Mott. All rights reserved. 5 | code.google.com/p/crypto-js/wiki/License 6 | */ 7 | (function(){function l(){for(var a=this._S,d=this._i,c=this._j,b=0,e=0;4>e;e++){var d=(d+1)%256,c=(c+a[d])%256,f=a[d];a[d]=a[c];a[c]=f;b|=a[(a[d]+a[c])%256]<<24-8*e}this._i=d;this._j=c;return b}var g=CryptoJS,k=g.lib.StreamCipher,h=g.algo,j=h.RC4=k.extend({_doReset:function(){for(var a=this._key,d=a.words,a=a.sigBytes,c=this._S=[],b=0;256>b;b++)c[b]=b;for(var e=b=0;256>b;b++){var f=b%a,e=(e+c[b]+(d[f>>>2]>>>24-8*(f%4)&255))%256,f=c[b];c[b]=c[e];c[e]=f}this._i=this._j=0},_doProcessBlock:function(a, 8 | d){a[d]^=l.call(this)},keySize:8,ivSize:0});g.RC4=k._createHelper(j);h=h.RC4Drop=j.extend({cfg:j.cfg.extend({drop:192}),_doReset:function(){j._doReset.call(this);for(var a=this.cfg.drop;0c;c++){if(16>c)d[c]=n[p+c]|0;else{var g=d[c-3]^d[c-8]^d[c-14]^d[c-16];d[c]=g<<1|g>>>31}g=(e<<5|e>>>27)+b+d[c];g=20>c?g+((f&h|~f&j)+1518500249):40>c?g+((f^h^j)+1859775393):60>c?g+((f&h|f&j|h&j)-1894007588):g+((f^h^ 8 | j)-899497514);b=j;j=h;h=f<<30|f>>>2;f=e;e=g}a[0]=a[0]+e|0;a[1]=a[1]+f|0;a[2]=a[2]+h|0;a[3]=a[3]+j|0;a[4]=a[4]+b|0},_doFinalize:function(){var b=this._data,d=b.words,a=8*this._nDataBytes,e=8*b.sigBytes;d[e>>>5]|=128<<24-e%32;d[(e+64>>>9<<4)+14]=Math.floor(a/4294967296);d[(e+64>>>9<<4)+15]=a;b.sigBytes=4*d.length;this._process();return this._hash},clone:function(){var b=l.clone.call(this);b._hash=this._hash.clone();return b}});k.SHA1=l._createHelper(b);k.HmacSHA1=l._createHmacHelper(b)})(); 9 | -------------------------------------------------------------------------------- /lib/cryptojs v3.1.2/components/sha224-min.js: -------------------------------------------------------------------------------- 1 | /* 2 | CryptoJS v3.1.2 3 | code.google.com/p/crypto-js 4 | (c) 2009-2013 by Jeff Mott. All rights reserved. 5 | code.google.com/p/crypto-js/wiki/License 6 | */ 7 | (function(){var b=CryptoJS,d=b.lib.WordArray,a=b.algo,c=a.SHA256,a=a.SHA224=c.extend({_doReset:function(){this._hash=new d.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var a=c._doFinalize.call(this);a.sigBytes-=4;return a}});b.SHA224=c._createHelper(a);b.HmacSHA224=c._createHmacHelper(a)})(); 8 | -------------------------------------------------------------------------------- /lib/cryptojs v3.1.2/components/sha224.js: -------------------------------------------------------------------------------- 1 | /* 2 | CryptoJS v3.1.2 3 | code.google.com/p/crypto-js 4 | (c) 2009-2013 by Jeff Mott. All rights reserved. 5 | code.google.com/p/crypto-js/wiki/License 6 | */ 7 | (function () { 8 | // Shortcuts 9 | var C = CryptoJS; 10 | var C_lib = C.lib; 11 | var WordArray = C_lib.WordArray; 12 | var C_algo = C.algo; 13 | var SHA256 = C_algo.SHA256; 14 | 15 | /** 16 | * SHA-224 hash algorithm. 17 | */ 18 | var SHA224 = C_algo.SHA224 = SHA256.extend({ 19 | _doReset: function () { 20 | this._hash = new WordArray.init([ 21 | 0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939, 22 | 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4 23 | ]); 24 | }, 25 | 26 | _doFinalize: function () { 27 | var hash = SHA256._doFinalize.call(this); 28 | 29 | hash.sigBytes -= 4; 30 | 31 | return hash; 32 | } 33 | }); 34 | 35 | /** 36 | * Shortcut function to the hasher's object interface. 37 | * 38 | * @param {WordArray|string} message The message to hash. 39 | * 40 | * @return {WordArray} The hash. 41 | * 42 | * @static 43 | * 44 | * @example 45 | * 46 | * var hash = CryptoJS.SHA224('message'); 47 | * var hash = CryptoJS.SHA224(wordArray); 48 | */ 49 | C.SHA224 = SHA256._createHelper(SHA224); 50 | 51 | /** 52 | * Shortcut function to the HMAC's object interface. 53 | * 54 | * @param {WordArray|string} message The message to hash. 55 | * @param {WordArray|string} key The secret key. 56 | * 57 | * @return {WordArray} The HMAC. 58 | * 59 | * @static 60 | * 61 | * @example 62 | * 63 | * var hmac = CryptoJS.HmacSHA224(message, key); 64 | */ 65 | C.HmacSHA224 = SHA256._createHmacHelper(SHA224); 66 | }()); 67 | -------------------------------------------------------------------------------- /lib/cryptojs v3.1.2/components/sha256-min.js: -------------------------------------------------------------------------------- 1 | /* 2 | CryptoJS v3.1.2 3 | code.google.com/p/crypto-js 4 | (c) 2009-2013 by Jeff Mott. All rights reserved. 5 | code.google.com/p/crypto-js/wiki/License 6 | */ 7 | (function(k){for(var g=CryptoJS,h=g.lib,v=h.WordArray,j=h.Hasher,h=g.algo,s=[],t=[],u=function(q){return 4294967296*(q-(q|0))|0},l=2,b=0;64>b;){var d;a:{d=l;for(var w=k.sqrt(d),r=2;r<=w;r++)if(!(d%r)){d=!1;break a}d=!0}d&&(8>b&&(s[b]=u(k.pow(l,0.5))),t[b]=u(k.pow(l,1/3)),b++);l++}var n=[],h=h.SHA256=j.extend({_doReset:function(){this._hash=new v.init(s.slice(0))},_doProcessBlock:function(q,h){for(var a=this._hash.words,c=a[0],d=a[1],b=a[2],k=a[3],f=a[4],g=a[5],j=a[6],l=a[7],e=0;64>e;e++){if(16>e)n[e]= 8 | q[h+e]|0;else{var m=n[e-15],p=n[e-2];n[e]=((m<<25|m>>>7)^(m<<14|m>>>18)^m>>>3)+n[e-7]+((p<<15|p>>>17)^(p<<13|p>>>19)^p>>>10)+n[e-16]}m=l+((f<<26|f>>>6)^(f<<21|f>>>11)^(f<<7|f>>>25))+(f&g^~f&j)+t[e]+n[e];p=((c<<30|c>>>2)^(c<<19|c>>>13)^(c<<10|c>>>22))+(c&d^c&b^d&b);l=j;j=g;g=f;f=k+m|0;k=b;b=d;d=c;c=m+p|0}a[0]=a[0]+c|0;a[1]=a[1]+d|0;a[2]=a[2]+b|0;a[3]=a[3]+k|0;a[4]=a[4]+f|0;a[5]=a[5]+g|0;a[6]=a[6]+j|0;a[7]=a[7]+l|0},_doFinalize:function(){var d=this._data,b=d.words,a=8*this._nDataBytes,c=8*d.sigBytes; 9 | b[c>>>5]|=128<<24-c%32;b[(c+64>>>9<<4)+14]=k.floor(a/4294967296);b[(c+64>>>9<<4)+15]=a;d.sigBytes=4*b.length;this._process();return this._hash},clone:function(){var b=j.clone.call(this);b._hash=this._hash.clone();return b}});g.SHA256=j._createHelper(h);g.HmacSHA256=j._createHmacHelper(h)})(Math); 10 | -------------------------------------------------------------------------------- /lib/cryptojs v3.1.2/components/sha3-min.js: -------------------------------------------------------------------------------- 1 | /* 2 | CryptoJS v3.1.2 3 | code.google.com/p/crypto-js 4 | (c) 2009-2013 by Jeff Mott. All rights reserved. 5 | code.google.com/p/crypto-js/wiki/License 6 | */ 7 | (function(y){for(var p=CryptoJS,m=p.lib,z=m.WordArray,q=m.Hasher,s=p.x64.Word,m=p.algo,v=[],w=[],x=[],c=1,d=0,l=0;24>l;l++){v[c+5*d]=(l+1)*(l+2)/2%64;var r=(2*c+3*d)%5,c=d%5,d=r}for(c=0;5>c;c++)for(d=0;5>d;d++)w[c+5*d]=d+5*((2*c+3*d)%5);c=1;for(d=0;24>d;d++){for(var t=r=l=0;7>t;t++){if(c&1){var u=(1<u?r^=1<c;c++)j[c]=s.create();m=m.SHA3=q.extend({cfg:q.cfg.extend({outputLength:512}),_doReset:function(){for(var c=this._state= 8 | [],n=0;25>n;n++)c[n]=new s.init;this.blockSize=(1600-2*this.cfg.outputLength)/32},_doProcessBlock:function(c,n){for(var h=this._state,d=this.blockSize/2,b=0;b>>24)&16711935|(e<<24|e>>>8)&4278255360,f=(f<<8|f>>>24)&16711935|(f<<24|f>>>8)&4278255360,a=h[b];a.high^=f;a.low^=e}for(d=0;24>d;d++){for(b=0;5>b;b++){for(var k=e=0,g=0;5>g;g++)a=h[b+5*g],e^=a.high,k^=a.low;a=j[b];a.high=e;a.low=k}for(b=0;5>b;b++){a=j[(b+4)%5];e=j[(b+1)%5];f=e.high;g=e.low;e=a.high^ 9 | (f<<1|g>>>31);k=a.low^(g<<1|f>>>31);for(g=0;5>g;g++)a=h[b+5*g],a.high^=e,a.low^=k}for(f=1;25>f;f++)a=h[f],b=a.high,a=a.low,g=v[f],32>g?(e=b<>>32-g,k=a<>>32-g):(e=a<>>64-g,k=b<>>64-g),a=j[w[f]],a.high=e,a.low=k;a=j[0];b=h[0];a.high=b.high;a.low=b.low;for(b=0;5>b;b++)for(g=0;5>g;g++)f=b+5*g,a=h[f],e=j[f],f=j[(b+1)%5+5*g],k=j[(b+2)%5+5*g],a.high=e.high^~f.high&k.high,a.low=e.low^~f.low&k.low;a=h[0];b=x[d];a.high^=b.high;a.low^=b.low}},_doFinalize:function(){var c=this._data, 10 | d=c.words,h=8*c.sigBytes,j=32*this.blockSize;d[h>>>5]|=1<<24-h%32;d[(y.ceil((h+1)/j)*j>>>5)-1]|=128;c.sigBytes=4*d.length;this._process();for(var c=this._state,d=this.cfg.outputLength/8,h=d/8,j=[],b=0;b>>24)&16711935|(f<<24|f>>>8)&4278255360,e=(e<<8|e>>>24)&16711935|(e<<24|e>>>8)&4278255360;j.push(e);j.push(f)}return new z.init(j,d)},clone:function(){for(var c=q.clone.call(this),d=c._state=this._state.slice(0),h=0;25>h;h++)d[h]=d[h].clone();return c}}); 11 | p.SHA3=q._createHelper(m);p.HmacSHA3=q._createHmacHelper(m)})(Math); 12 | -------------------------------------------------------------------------------- /lib/cryptojs v3.1.2/components/sha384-min.js: -------------------------------------------------------------------------------- 1 | /* 2 | CryptoJS v3.1.2 3 | code.google.com/p/crypto-js 4 | (c) 2009-2013 by Jeff Mott. All rights reserved. 5 | code.google.com/p/crypto-js/wiki/License 6 | */ 7 | (function(){var c=CryptoJS,a=c.x64,b=a.Word,e=a.WordArray,a=c.algo,d=a.SHA512,a=a.SHA384=d.extend({_doReset:function(){this._hash=new e.init([new b.init(3418070365,3238371032),new b.init(1654270250,914150663),new b.init(2438529370,812702999),new b.init(355462360,4144912697),new b.init(1731405415,4290775857),new b.init(2394180231,1750603025),new b.init(3675008525,1694076839),new b.init(1203062813,3204075428)])},_doFinalize:function(){var a=d._doFinalize.call(this);a.sigBytes-=16;return a}});c.SHA384= 8 | d._createHelper(a);c.HmacSHA384=d._createHmacHelper(a)})(); 9 | -------------------------------------------------------------------------------- /lib/cryptojs v3.1.2/components/sha384.js: -------------------------------------------------------------------------------- 1 | /* 2 | CryptoJS v3.1.2 3 | code.google.com/p/crypto-js 4 | (c) 2009-2013 by Jeff Mott. All rights reserved. 5 | code.google.com/p/crypto-js/wiki/License 6 | */ 7 | (function () { 8 | // Shortcuts 9 | var C = CryptoJS; 10 | var C_x64 = C.x64; 11 | var X64Word = C_x64.Word; 12 | var X64WordArray = C_x64.WordArray; 13 | var C_algo = C.algo; 14 | var SHA512 = C_algo.SHA512; 15 | 16 | /** 17 | * SHA-384 hash algorithm. 18 | */ 19 | var SHA384 = C_algo.SHA384 = SHA512.extend({ 20 | _doReset: function () { 21 | this._hash = new X64WordArray.init([ 22 | new X64Word.init(0xcbbb9d5d, 0xc1059ed8), new X64Word.init(0x629a292a, 0x367cd507), 23 | new X64Word.init(0x9159015a, 0x3070dd17), new X64Word.init(0x152fecd8, 0xf70e5939), 24 | new X64Word.init(0x67332667, 0xffc00b31), new X64Word.init(0x8eb44a87, 0x68581511), 25 | new X64Word.init(0xdb0c2e0d, 0x64f98fa7), new X64Word.init(0x47b5481d, 0xbefa4fa4) 26 | ]); 27 | }, 28 | 29 | _doFinalize: function () { 30 | var hash = SHA512._doFinalize.call(this); 31 | 32 | hash.sigBytes -= 16; 33 | 34 | return hash; 35 | } 36 | }); 37 | 38 | /** 39 | * Shortcut function to the hasher's object interface. 40 | * 41 | * @param {WordArray|string} message The message to hash. 42 | * 43 | * @return {WordArray} The hash. 44 | * 45 | * @static 46 | * 47 | * @example 48 | * 49 | * var hash = CryptoJS.SHA384('message'); 50 | * var hash = CryptoJS.SHA384(wordArray); 51 | */ 52 | C.SHA384 = SHA512._createHelper(SHA384); 53 | 54 | /** 55 | * Shortcut function to the HMAC's object interface. 56 | * 57 | * @param {WordArray|string} message The message to hash. 58 | * @param {WordArray|string} key The secret key. 59 | * 60 | * @return {WordArray} The HMAC. 61 | * 62 | * @static 63 | * 64 | * @example 65 | * 66 | * var hmac = CryptoJS.HmacSHA384(message, key); 67 | */ 68 | C.HmacSHA384 = SHA512._createHmacHelper(SHA384); 69 | }()); 70 | -------------------------------------------------------------------------------- /lib/cryptojs v3.1.2/components/x64-core-min.js: -------------------------------------------------------------------------------- 1 | /* 2 | CryptoJS v3.1.2 3 | code.google.com/p/crypto-js 4 | (c) 2009-2013 by Jeff Mott. All rights reserved. 5 | code.google.com/p/crypto-js/wiki/License 6 | */ 7 | (function(g){var a=CryptoJS,f=a.lib,e=f.Base,h=f.WordArray,a=a.x64={};a.Word=e.extend({init:function(b,c){this.high=b;this.low=c}});a.WordArray=e.extend({init:function(b,c){b=this.words=b||[];this.sigBytes=c!=g?c:8*b.length},toX32:function(){for(var b=this.words,c=b.length,a=[],d=0;d svr1.bitcoin2u.com /Blockscan/wwwroot/assets/plugins/bootstrap/css bootstrap.css 2 | 2015.01.01 03:18 B J:\BlockscanSolution\BlockScan\assets\plugins\bootstrap\css\bootstrap.min.css --> svr1.bitcoin2u.com /Blockscan/wwwroot/assets/plugins/bootstrap/css bootstrap.min.css 3 | -------------------------------------------------------------------------------- /lib/cw_address_key_generator/assets/plugins/bootstrap/fonts/WS_FTP.LOG: -------------------------------------------------------------------------------- 1 | 2014.08.26 16:14 B J:\Unify\HTML\assets\plugins\bootstrap\fonts\glyphicons-halflings-regular.eot --> svr3.website.my /BlockScan/wwwroot/unify/assets/plugins/bootstrap/fonts glyphicons-halflings-regular.eot 2 | 2014.08.26 16:14 B J:\Unify\HTML\assets\plugins\bootstrap\fonts\glyphicons-halflings-regular.svg --> svr3.website.my /BlockScan/wwwroot/unify/assets/plugins/bootstrap/fonts glyphicons-halflings-regular.svg 3 | 2014.08.26 16:14 B J:\Unify\HTML\assets\plugins\bootstrap\fonts\glyphicons-halflings-regular.ttf --> svr3.website.my /BlockScan/wwwroot/unify/assets/plugins/bootstrap/fonts glyphicons-halflings-regular.ttf 4 | 2014.08.26 16:14 B J:\Unify\HTML\assets\plugins\bootstrap\fonts\glyphicons-halflings-regular.woff --> svr3.website.my /BlockScan/wwwroot/unify/assets/plugins/bootstrap/fonts glyphicons-halflings-regular.woff 5 | 2014.08.27 00:39 B J:\Unify\HTML\assets\plugins\bootstrap\fonts\WS_FTP.LOG --> svr3.website.my /BlockScan/wwwroot/unify/assets/plugins/bootstrap/fonts WS_FTP.LOG 6 | 2014.08.27 01:13 B J:\BlockScan\assets\plugins\bootstrap\fonts\glyphicons-halflings-regular.eot --> svr3.website.my /BlockScan/wwwroot/assets/plugins/bootstrap/fonts glyphicons-halflings-regular.eot 7 | 2014.08.27 01:13 B J:\BlockScan\assets\plugins\bootstrap\fonts\glyphicons-halflings-regular.svg --> svr3.website.my /BlockScan/wwwroot/assets/plugins/bootstrap/fonts glyphicons-halflings-regular.svg 8 | 2014.08.27 01:13 B J:\BlockScan\assets\plugins\bootstrap\fonts\glyphicons-halflings-regular.ttf --> svr3.website.my /BlockScan/wwwroot/assets/plugins/bootstrap/fonts glyphicons-halflings-regular.ttf 9 | 2014.08.27 01:13 B J:\BlockScan\assets\plugins\bootstrap\fonts\glyphicons-halflings-regular.woff --> svr3.website.my /BlockScan/wwwroot/assets/plugins/bootstrap/fonts glyphicons-halflings-regular.woff 10 | 2014.08.27 01:13 B J:\BlockScan\assets\plugins\bootstrap\fonts\WS_FTP.LOG --> svr3.website.my /BlockScan/wwwroot/assets/plugins/bootstrap/fonts WS_FTP.LOG 11 | 2015.01.01 03:18 B J:\BlockscanSolution\BlockScan\assets\plugins\bootstrap\fonts\glyphicons-halflings-regular.eot --> svr1.bitcoin2u.com /Blockscan/wwwroot/assets/plugins/bootstrap/fonts glyphicons-halflings-regular.eot 12 | 2015.01.01 03:18 B J:\BlockscanSolution\BlockScan\assets\plugins\bootstrap\fonts\glyphicons-halflings-regular.svg --> svr1.bitcoin2u.com /Blockscan/wwwroot/assets/plugins/bootstrap/fonts glyphicons-halflings-regular.svg 13 | 2015.01.01 03:18 B J:\BlockscanSolution\BlockScan\assets\plugins\bootstrap\fonts\glyphicons-halflings-regular.ttf --> svr1.bitcoin2u.com /Blockscan/wwwroot/assets/plugins/bootstrap/fonts glyphicons-halflings-regular.ttf 14 | 2015.01.01 03:18 B J:\BlockscanSolution\BlockScan\assets\plugins\bootstrap\fonts\glyphicons-halflings-regular.woff --> svr1.bitcoin2u.com /Blockscan/wwwroot/assets/plugins/bootstrap/fonts glyphicons-halflings-regular.woff 15 | 2015.01.01 03:18 B J:\BlockscanSolution\BlockScan\assets\plugins\bootstrap\fonts\WS_FTP.LOG --> svr1.bitcoin2u.com /Blockscan/wwwroot/assets/plugins/bootstrap/fonts WS_FTP.LOG 16 | -------------------------------------------------------------------------------- /lib/cw_address_key_generator/assets/plugins/bootstrap/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/lib/cw_address_key_generator/assets/plugins/bootstrap/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /lib/cw_address_key_generator/assets/plugins/bootstrap/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/lib/cw_address_key_generator/assets/plugins/bootstrap/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /lib/cw_address_key_generator/assets/plugins/bootstrap/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/lib/cw_address_key_generator/assets/plugins/bootstrap/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /lib/cw_address_key_generator/assets/plugins/bootstrap/js/WS_FTP.LOG: -------------------------------------------------------------------------------- 1 | 2014.08.26 16:14 B J:\Unify\HTML\assets\plugins\bootstrap\js\bootstrap.js --> svr3.website.my /BlockScan/wwwroot/unify/assets/plugins/bootstrap/js bootstrap.js 2 | 2014.08.26 16:14 B J:\Unify\HTML\assets\plugins\bootstrap\js\bootstrap.min.js --> svr3.website.my /BlockScan/wwwroot/unify/assets/plugins/bootstrap/js bootstrap.min.js 3 | 2014.08.27 00:39 B J:\Unify\HTML\assets\plugins\bootstrap\js\WS_FTP.LOG --> svr3.website.my /BlockScan/wwwroot/unify/assets/plugins/bootstrap/js WS_FTP.LOG 4 | 2014.08.27 01:13 B J:\BlockScan\assets\plugins\bootstrap\js\bootstrap.js --> svr3.website.my /BlockScan/wwwroot/assets/plugins/bootstrap/js bootstrap.js 5 | 2014.08.27 01:13 B J:\BlockScan\assets\plugins\bootstrap\js\bootstrap.min.js --> svr3.website.my /BlockScan/wwwroot/assets/plugins/bootstrap/js bootstrap.min.js 6 | 2014.08.27 01:13 B J:\BlockScan\assets\plugins\bootstrap\js\WS_FTP.LOG --> svr3.website.my /BlockScan/wwwroot/assets/plugins/bootstrap/js WS_FTP.LOG 7 | 2015.01.01 03:18 B J:\BlockscanSolution\BlockScan\assets\plugins\bootstrap\js\bootstrap.js --> svr1.bitcoin2u.com /Blockscan/wwwroot/assets/plugins/bootstrap/js bootstrap.js 8 | 2015.01.01 03:18 B J:\BlockscanSolution\BlockScan\assets\plugins\bootstrap\js\bootstrap.min.js --> svr1.bitcoin2u.com /Blockscan/wwwroot/assets/plugins/bootstrap/js bootstrap.min.js 9 | 2015.01.01 03:18 B J:\BlockscanSolution\BlockScan\assets\plugins\bootstrap\js\WS_FTP.LOG --> svr1.bitcoin2u.com /Blockscan/wwwroot/assets/plugins/bootstrap/js WS_FTP.LOG 10 | -------------------------------------------------------------------------------- /lib/cw_address_key_generator/images/ajax-loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/lib/cw_address_key_generator/images/ajax-loader.gif -------------------------------------------------------------------------------- /lib/cw_address_key_generator/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/lib/cw_address_key_generator/images/logo.png -------------------------------------------------------------------------------- /lib/cw_address_key_generator/images/qrcode2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/lib/cw_address_key_generator/images/qrcode2.png -------------------------------------------------------------------------------- /lib/cw_address_key_generator/jss/bitcore/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bitcore", 3 | "main": "./bitcore.min.js", 4 | "version": "0.9.3", 5 | "homepage": "http://bitcore.io", 6 | "authors": [ 7 | "BitPay, Inc." 8 | ], 9 | "description": "A pure, powerful core for your bitcoin project.", 10 | "moduleType": [ 11 | "globals" 12 | ], 13 | "keywords": [ 14 | "bitcoin", 15 | "bitcore", 16 | "btc", 17 | "satoshi" 18 | ], 19 | "license": "MIT", 20 | "ignore": [ 21 | "**/.*", 22 | "CONTRIBUTING.md", 23 | "gulpfile.js", 24 | "lib", 25 | "index.js", 26 | "karma.conf.js", 27 | "npm-shrinkwrap.json", 28 | "test" 29 | ], 30 | "_release": "0.9.3", 31 | "_resolution": { 32 | "type": "version", 33 | "tag": "v0.9.3", 34 | "commit": "d92db9032298d1c90f5228cfa5a3fd66c473d1c2" 35 | }, 36 | "_source": "git://github.com/bitpay/bitcore.git", 37 | "_target": "~0.9.3", 38 | "_originalSource": "bitcore", 39 | "_direct": true 40 | } -------------------------------------------------------------------------------- /lib/cw_address_key_generator/jss/bitcore/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013-2015 BitPay, Inc. 2 | 3 | Parts of this software are based on fullnode 4 | Copyright (c) 2014 Ryan X. Charles 5 | Copyright (c) 2014 reddit, Inc. 6 | 7 | Parts of this software are based on BitcoinJS 8 | Copyright (c) 2011 Stefan Thomas 9 | 10 | Parts of this software are based on BitcoinJ 11 | Copyright (c) 2011 Google Inc. 12 | 13 | Permission is hereby granted, free of charge, to any person obtaining a copy 14 | of this software and associated documentation files (the "Software"), to deal 15 | in the Software without restriction, including without limitation the rights 16 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 17 | copies of the Software, and to permit persons to whom the Software is 18 | furnished to do so, subject to the following conditions: 19 | 20 | The above copyright notice and this permission notice shall be included in 21 | all copies or substantial portions of the Software. 22 | 23 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 24 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 25 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 26 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 27 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 28 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 29 | THE SOFTWARE. 30 | -------------------------------------------------------------------------------- /lib/cw_address_key_generator/jss/bitcore/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bitcore", 3 | "main": "./bitcore.min.js", 4 | "version": "0.9.3", 5 | "homepage": "http://bitcore.io", 6 | "authors": [ 7 | "BitPay, Inc." 8 | ], 9 | "description": "A pure, powerful core for your bitcoin project.", 10 | "moduleType": [ 11 | "globals" 12 | ], 13 | "keywords": [ 14 | "bitcoin", 15 | "bitcore", 16 | "btc", 17 | "satoshi" 18 | ], 19 | "license": "MIT", 20 | "ignore": [ 21 | "**/.*", 22 | "CONTRIBUTING.md", 23 | "gulpfile.js", 24 | "lib", 25 | "index.js", 26 | "karma.conf.js", 27 | "npm-shrinkwrap.json", 28 | "test" 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /lib/cw_address_key_generator/jss/bitcore/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bitcore", 3 | "version": "0.9.3", 4 | "description": "A pure and powerful JavaScript Bitcoin library.", 5 | "author": "BitPay ", 6 | "main": "index.js", 7 | "scripts": { 8 | "lint": "gulp lint", 9 | "test": "gulp test", 10 | "coverage": "gulp coverage", 11 | "build": "gulp" 12 | }, 13 | "contributors": [ 14 | { 15 | "name": "Daniel Cousens", 16 | "email": "bitcoin@dcousens.com" 17 | }, 18 | { 19 | "name": "Esteban Ordano", 20 | "email": "eordano@gmail.com" 21 | }, 22 | { 23 | "name": "Gordon Hall", 24 | "email": "gordon@bitpay.com" 25 | }, 26 | { 27 | "name": "Jeff Garzik", 28 | "email": "jgarzik@bitpay.com" 29 | }, 30 | { 31 | "name": "Kyle Drake", 32 | "email": "kyle@kyledrake.net" 33 | }, 34 | { 35 | "name": "Manuel Araoz", 36 | "email": "manuelaraoz@gmail.com" 37 | }, 38 | { 39 | "name": "Matias Alejo Garcia", 40 | "email": "ematiu@gmail.com" 41 | }, 42 | { 43 | "name": "Ryan X. Charles", 44 | "email": "ryanxcharles@gmail.com" 45 | }, 46 | { 47 | "name": "Stefan Thomas", 48 | "email": "moon@justmoon.net" 49 | }, 50 | { 51 | "name": "Stephen Pair", 52 | "email": "stephen@bitpay.com" 53 | }, 54 | { 55 | "name": "Wei Lu", 56 | "email": "luwei.here@gmail.com" 57 | } 58 | ], 59 | "keywords": [ 60 | "bitcoin", 61 | "bip32", 62 | "bip37", 63 | "bip70", 64 | "merge", 65 | "multisig" 66 | ], 67 | "repository": { 68 | "type": "git", 69 | "url": "https://github.com/bitpay/bitcore.git" 70 | }, 71 | "browser": { 72 | "request": "browser-request" 73 | }, 74 | "dependencies": { 75 | "bn.js": "=0.16.1", 76 | "bs58": "=2.0.0", 77 | "elliptic": "=0.16.0", 78 | "hash.js": "=0.3.2", 79 | "inherits": "=2.0.1", 80 | "lodash": "=2.4.1", 81 | "sha512": "=0.0.1" 82 | }, 83 | "devDependencies": { 84 | "bitcore-build": "git://github.com/bitpay/bitcore-build.git", 85 | "brfs": "^1.2.0", 86 | "chai": "^1.10.0", 87 | "gulp": "^3.8.10" 88 | }, 89 | "license": "MIT" 90 | } 91 | -------------------------------------------------------------------------------- /lib/mnemonic/.gitignore: -------------------------------------------------------------------------------- 1 | bower_components 2 | -------------------------------------------------------------------------------- /lib/mnemonic/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2012 Yiorgis Gozadinos, 2 | Crypho AS, Harpunveien 3, 3126 Nøtterøy, Norway 3 | 4 | Permission is hereby granted, free of charge, to any person 5 | obtaining a copy of this software and associated documentation 6 | files (the "Software"), to deal in the Software without 7 | restriction, including without limitation the rights to use, 8 | copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the 10 | Software is furnished to do so, subject to the following 11 | conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 18 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 20 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 21 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 22 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 23 | OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /lib/mnemonic/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mnemonic.js", 3 | "repo": "ggozad/mnemonic.js", 4 | "description": "Memorable random passphrases of known strength", 5 | "keywords": [ 6 | "security", 7 | "passwords" 8 | ], 9 | "main": [ 10 | "mnemonic.js" 11 | ], 12 | "devDependencies": { 13 | "jasmine": "" 14 | }, 15 | "ignore": [ 16 | "tests", 17 | "**/.*" 18 | ], 19 | "version": "1.1.0", 20 | "homepage": "https://github.com/ggozad/mnemonic.js", 21 | "authors": [ 22 | "Yiorgis Gozadinos " 23 | ], 24 | "license": "MIT" 25 | } 26 | -------------------------------------------------------------------------------- /lib/mnemonic/chrome/background.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /lib/mnemonic/chrome/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/lib/mnemonic/chrome/icon.png -------------------------------------------------------------------------------- /lib/mnemonic/chrome/index.js: -------------------------------------------------------------------------------- 1 | function generate() { 2 | var i=0, bits, m, words; 3 | bits = $('#strength').val(); 4 | m = new Mnemonic(parseInt(bits, 10)); 5 | $('#hex').text(m.toHex()); 6 | words = m.toWords(); 7 | $('#words').html(''); 8 | for (;i < words.length; i++) { 9 | $('#words').append($('
  • ').text(words[i]+' ')); 10 | } 11 | } 12 | 13 | function clipboard(ev) { 14 | var bg, cb; 15 | bg = chrome.extension.getBackgroundPage(); 16 | cb = bg.document.getElementById("cb"); 17 | cb.style.display = "block"; 18 | cb.value = $(ev.target).text(); 19 | cb.select(); 20 | bg.document.execCommand("Copy"); 21 | cb.style.display = "none"; 22 | } 23 | 24 | 25 | $(function () { 26 | $('#generate').on('click', generate); 27 | $('#hex').on('click', clipboard); 28 | generate(); 29 | }); 30 | -------------------------------------------------------------------------------- /lib/mnemonic/chrome/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Mnemonic", 3 | "version": "1.0", 4 | "manifest_version": 2, 5 | "description": "Generate secure and memorable uids/passwords.", 6 | "browser_action": { 7 | "default_icon": "icon.png", 8 | "default_popup": "mnemonic.html" 9 | }, 10 | "background": { 11 | "page": "background.html" 12 | }, 13 | "permissions": ["clipboardWrite"] 14 | } -------------------------------------------------------------------------------- /lib/mnemonic/chrome/mnemonic.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Mnemonic password generator 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 |
    18 | 19 | 27 | 28 |
    29 |
    30 | 31 |
      32 |
      33 |
      34 | 35 | 36 |
      37 | 38 | 39 | -------------------------------------------------------------------------------- /lib/mnemonic/tests/index.js: -------------------------------------------------------------------------------- 1 | /*globals jasmine:false */ 2 | 3 | (function ($) { 4 | $(function () { 5 | var jasmineEnv = jasmine.getEnv(); 6 | jasmineEnv.updateInterval = 1000; 7 | var htmlReporter = new jasmine.HtmlReporter(); 8 | jasmineEnv.addReporter(htmlReporter); 9 | jasmineEnv.specFilter = function(spec) { 10 | return htmlReporter.specFilter(spec); 11 | }; 12 | jasmineEnv.execute(); 13 | }); 14 | })(this.jQuery); -------------------------------------------------------------------------------- /lib/mnemonic/tests/specRunner.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Jasmine Spec Runner 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /lib/mnemonic/tests/specs/mnemonic_spec.js: -------------------------------------------------------------------------------- 1 | (function (Mnemonic) { 2 | 3 | describe('Mnemonic', function () { 4 | 5 | it('creates mnemonics of 32*n bits', function () { 6 | var m; 7 | m = new Mnemonic(32); 8 | expect(m.seed.length).toEqual(1); 9 | m = new Mnemonic(64); 10 | expect(m.seed.length).toEqual(2); 11 | m = new Mnemonic(); // Default 96bits 12 | expect(m.seed.length).toEqual(3); 13 | m = new Mnemonic(256); 14 | expect(m.seed.length).toEqual(8); 15 | 16 | var illegal = function () { 17 | return new Mnemonic(42); 18 | }; 19 | expect(illegal).toThrow(); 20 | }); 21 | 22 | it('produces the right words', function () { 23 | var m; 24 | m = new Mnemonic(32); 25 | m.seed[0] = 0; 26 | expect(m.toWords()).toEqual(['like', 'like', 'like']); // First word 3 times 27 | 28 | m.seed[0] = Mnemonic.wc - 1; 29 | expect(m.toWords()).toEqual(['weary', 'weary', 'weary']); // Last word 3 times 30 | 31 | m.seed[0] = Math.pow(2,32) - 1; 32 | expect(m.toWords()).toEqual(['fail', 'husband', 'howl']); 33 | }); 34 | 35 | it('produces the right hex', function () { 36 | var m; 37 | m = new Mnemonic(32); 38 | m.seed[0] = 0; 39 | expect(m.toHex()).toEqual('00000000'); // First word 3 times 40 | 41 | m.seed[0] = Mnemonic.wc - 1; 42 | expect(m.toHex()).toEqual('00000659'); // Last word 3 times 43 | 44 | m.seed[0] = Math.pow(2,32) - 1; 45 | expect(m.toHex()).toEqual('ffffffff'); 46 | }); 47 | 48 | it('can be constructed from a Uint32 array', function () { 49 | var arr, m2, m1 = new Mnemonic(); 50 | arr = m1.seed; 51 | m2 = new Mnemonic(arr); 52 | expect(m1.seed).toEqual(m2.seed); 53 | }); 54 | 55 | it('can be reconstructed from words', function () { 56 | var m2, m1 = new Mnemonic(); 57 | m2 = Mnemonic.fromWords(m1.toWords()); 58 | expect(m1.seed).toEqual(m2.seed); 59 | }); 60 | 61 | it('can be reconstructed from hex', function () { 62 | var m2, m1 = new Mnemonic(); 63 | m2 = Mnemonic.fromHex(m1.toHex()); 64 | expect(m1.seed).toEqual(m2.seed); 65 | }); 66 | }); 67 | 68 | 69 | })(this.Mnemonic); 70 | -------------------------------------------------------------------------------- /lib/qrcodejs/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | 3 | .idea 4 | .project 5 | -------------------------------------------------------------------------------- /lib/qrcodejs/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | --------------------- 3 | Copyright (c) 2012 davidshimjs 4 | 5 | Permission is hereby granted, free of charge, 6 | to any person obtaining a copy of this software and associated documentation files (the "Software"), 7 | to deal in the Software without restriction, 8 | including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, 9 | and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 13 | 14 | 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. -------------------------------------------------------------------------------- /lib/qrcodejs/README.md: -------------------------------------------------------------------------------- 1 | # QRCode.js 2 | QRCode.js is javascript library for making QRCode. QRCode.js supports Cross-browser with HTML5 Canvas and table tag in DOM. 3 | QRCode.js has no dependencies. 4 | 5 | ## Basic Usages 6 | ``` 7 |
      8 | 11 | ``` 12 | 13 | or with some options 14 | 15 | ``` 16 |
      17 | 27 | ``` 28 | 29 | and you can use some methods 30 | 31 | ``` 32 | qrcode.clear(); // clear the code. 33 | qrcode.makeCode("http://naver.com"); // make another code. 34 | ``` 35 | 36 | ## Browser Compatibility 37 | IE6~10, Chrome, Firefox, Safari, Opera, Mobile Safari, Android, Windows Mobile, ETC. 38 | 39 | ## License 40 | MIT License 41 | 42 | ## Contact 43 | twitter @davidshimjs 44 | 45 | [![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/davidshimjs/qrcodejs/trend.png)](https://bitdeli.com/free "Bitdeli Badge") 46 | 47 | -------------------------------------------------------------------------------- /lib/qrcodejs/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "qrcode.js", 3 | "version": "0.0.1", 4 | "homepage": "https://github.com/davidshimjs/qrcodejs", 5 | "authors": [ 6 | "Sangmin Shim", "Sangmin Shim (http://jaguarjs.com)" 7 | ], 8 | "description": "Cross-browser QRCode generator for javascript", 9 | "main": "qrcode.js", 10 | "ignore": [ 11 | "bower_components", 12 | "node_modules", 13 | "index.html", 14 | "index.svg", 15 | "jquery.min.js", 16 | "qrcode.min.js" 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /lib/qrcodejs/index-svg.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Cross-Browser QRCode generator for Javascript 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /lib/qrcodejs/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Cross-Browser QRCode generator for Javascript 5 | 6 | 7 | 8 | 9 | 10 | 11 |
      12 |
      13 | 14 | 44 | -------------------------------------------------------------------------------- /lib/qrcodejs/index.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |
      7 | 8 |
      9 | 10 | 35 | 36 |
      37 |
      38 | -------------------------------------------------------------------------------- /lib/seedrandom/.coveralls.yml: -------------------------------------------------------------------------------- 1 | service_name: travis-ci 2 | -------------------------------------------------------------------------------- /lib/seedrandom/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | bower_components 3 | -------------------------------------------------------------------------------- /lib/seedrandom/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - '0.10' 4 | - '0.12' 5 | -------------------------------------------------------------------------------- /lib/seedrandom/Gruntfile.js: -------------------------------------------------------------------------------- 1 | module.exports = function(grunt) { 2 | "use strict"; 3 | 4 | grunt.initConfig({ 5 | pkg: grunt.file.readJSON("package.json"), 6 | bowercopy: { 7 | options: { 8 | clean: true 9 | }, 10 | test: { 11 | options: { 12 | destPrefix: "test/lib" 13 | }, 14 | files: { 15 | "qunit.js" : "qunit/qunit/qunit.js", 16 | "qunit.css" : "qunit/qunit/qunit.css", 17 | "require.js" : "requirejs/require.js" 18 | } 19 | } 20 | }, 21 | uglify: { 22 | all: { 23 | files: { 24 | "<%= pkg.name %>.min.js": [ "<%= pkg.name %>.js" ], 25 | "lib/alea.min.js": [ "lib/alea.js" ], 26 | "lib/tychei.min.js": [ "lib/tychei.js" ], 27 | "lib/xor4096.min.js": [ "lib/xor4096.js" ], 28 | "lib/xorshift7.min.js": [ "lib/xorshift7.js" ], 29 | "lib/xorwow.min.js": [ "lib/xorwow.js" ], 30 | "lib/xor128.min.js": [ "lib/xor128.js" ] 31 | }, 32 | options: { 33 | preserveComments: false, 34 | report: "min", 35 | beautify: { 36 | ascii_only: true 37 | } 38 | } 39 | } 40 | }, 41 | sed: { 42 | nullchar: { 43 | path: "<%= pkg.name %>.min.js", 44 | pattern: '\\\\x00', 45 | replacement: '\\0' 46 | }, 47 | }, 48 | qunit: { 49 | options: { 50 | noGlobals: true 51 | }, 52 | all: ["test/*.html"] 53 | }, 54 | mochacov: { 55 | options: { 56 | files: ['test/cryptotest.js', 'test/nodetest.js', 'test/prngtest.js'] 57 | }, 58 | coverage: { 59 | options: { 60 | coveralls: true 61 | } 62 | }, 63 | test: { 64 | options: { 65 | reporter: 'dot' 66 | } 67 | } 68 | }, 69 | release: { 70 | options: { 71 | bump: false 72 | } 73 | } 74 | }); 75 | 76 | grunt.loadNpmTasks('grunt-bowercopy'); 77 | grunt.loadNpmTasks('grunt-contrib-qunit'); 78 | grunt.loadNpmTasks('grunt-contrib-uglify'); 79 | grunt.loadNpmTasks('grunt-mocha-cov'); 80 | grunt.loadNpmTasks('grunt-release'); 81 | grunt.loadNpmTasks('grunt-sed'); 82 | 83 | grunt.registerTask("default", ["uglify", "sed", "qunit", "mochacov:test"]); 84 | grunt.registerTask("travis", ["default", "mochacov:coverage"]); 85 | }; 86 | 87 | -------------------------------------------------------------------------------- /lib/seedrandom/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "seedrandom", 3 | "description": "Seeded random number generator for Javascript.", 4 | "main": "seedrandom.js", 5 | "license": "MIT", 6 | "keywords": [ 7 | "random", 8 | "seed", 9 | "crypto" 10 | ], 11 | "ignore": [], 12 | "devDependencies": { 13 | "qunit": "latest", 14 | "requirejs": "latest" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /lib/seedrandom/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "seedrandom", 3 | "version": "2.4.0", 4 | "description": "Seeded random number generator for Javascript", 5 | "repository": "davidbau/seedrandom", 6 | "main": "seedrandom.js", 7 | "scripts": [ "seedrandom.js" ], 8 | "keywords": [ "random", "seed", "crypto" ], 9 | "license": "MIT" 10 | } 11 | -------------------------------------------------------------------------------- /lib/seedrandom/index.js: -------------------------------------------------------------------------------- 1 | // A library of seedable RNGs implemented in Javascript. 2 | // 3 | // Usage: 4 | // 5 | // var seedrandom = require('seedrandom'); 6 | // var random = seedrandom(1); // or any seed. 7 | // var x = random(); // 0 <= x < 1. Every bit is random. 8 | // var x = random.quick(); // 0 <= x < 1. 32 bits of randomness. 9 | 10 | // alea, a 53-bit multiply-with-carry generator by Johannes Baagøe. 11 | // Period: ~2^116 12 | // Reported to pass all BigCrush tests. 13 | var alea = require('./lib/alea'); 14 | 15 | // xor128, a pure xor-shift generator by George Marsaglia. 16 | // Period: 2^128-1. 17 | // Reported to fail: MatrixRank and LinearComp. 18 | var xor128 = require('./lib/xor128'); 19 | 20 | // xorwow, George Marsaglia's 160-bit xor-shift combined plus weyl. 21 | // Period: 2^192-2^32 22 | // Reported to fail: CollisionOver, SimpPoker, and LinearComp. 23 | var xorwow = require('./lib/xorwow'); 24 | 25 | // xorshift7, by François Panneton and Pierre L'ecuyer, takes 26 | // a different approach: it adds robustness by allowing more shifts 27 | // than Marsaglia's original three. It is a 7-shift generator 28 | // with 256 bits, that passes BigCrush with no systmatic failures. 29 | // Period 2^256-1. 30 | // No systematic BigCrush failures reported. 31 | var xorshift7 = require('./lib/xorshift7'); 32 | 33 | // xor4096, by Richard Brent, is a 4096-bit xor-shift with a 34 | // very long period that also adds a Weyl generator. It also passes 35 | // BigCrush with no systematic failures. Its long period may 36 | // be useful if you have many generators and need to avoid 37 | // collisions. 38 | // Period: 2^4128-2^32. 39 | // No systematic BigCrush failures reported. 40 | var xor4096 = require('./lib/xor4096'); 41 | 42 | // Tyche-i, by Samuel Neves and Filipe Araujo, is a bit-shifting random 43 | // number generator derived from ChaCha, a modern stream cipher. 44 | // https://eden.dei.uc.pt/~sneves/pubs/2011-snfa2.pdf 45 | // Period: ~2^127 46 | // No systematic BigCrush failures reported. 47 | var tychei = require('./lib/tychei'); 48 | 49 | // The original ARC4-based prng included in this library. 50 | // Period: ~2^1600 51 | var sr = require('./seedrandom'); 52 | 53 | sr.alea = alea; 54 | sr.xor128 = xor128; 55 | sr.xorwow = xorwow; 56 | sr.xorshift7 = xorshift7; 57 | sr.xor4096 = xor4096; 58 | sr.tychei = tychei; 59 | 60 | module.exports = sr; 61 | -------------------------------------------------------------------------------- /lib/seedrandom/lib/alea.min.js: -------------------------------------------------------------------------------- 1 | !function(a,b,c){function d(a){var b=this,c=g();b.next=function(){var a=2091639*b.s0+2.3283064365386963e-10*b.c;return b.s0=b.s1,b.s1=b.s2,b.s2=a-(b.c=0|a)},b.c=1,b.s0=c(" "),b.s1=c(" "),b.s2=c(" "),b.s0-=c(a),b.s0<0&&(b.s0+=1),b.s1-=c(a),b.s1<0&&(b.s1+=1),b.s2-=c(a),b.s2<0&&(b.s2+=1),c=null}function e(a,b){return b.c=a.c,b.s0=a.s0,b.s1=a.s1,b.s2=a.s2,b}function f(a,b){var c=new d(a),f=b&&b.state,g=c.next;return g.int32=function(){return 4294967296*c.next()|0},g["double"]=function(){return g()+1.1102230246251565e-16*(2097152*g()|0)},g.quick=g,f&&("object"==typeof f&&e(f,c),g.state=function(){return e(c,{})}),g}function g(){var a=4022871197,b=function(b){b=b.toString();for(var c=0;c>>0,d-=a,d*=a,a=d>>>0,d-=a,a+=4294967296*d}return 2.3283064365386963e-10*(a>>>0)};return b}b&&b.exports?b.exports=f:c&&c.amd?c(function(){return f}):this.alea=f}(this,"object"==typeof module&&module,"function"==typeof define&&define); -------------------------------------------------------------------------------- /lib/seedrandom/lib/tychei.js: -------------------------------------------------------------------------------- 1 | // A Javascript implementaion of the "Tyche-i" prng algorithm by 2 | // Samuel Neves and Filipe Araujo. 3 | // See https://eden.dei.uc.pt/~sneves/pubs/2011-snfa2.pdf 4 | 5 | (function(global, module, define) { 6 | 7 | function XorGen(seed) { 8 | var me = this, strseed = ''; 9 | 10 | // Set up generator function. 11 | me.next = function() { 12 | var b = me.b, c = me.c, d = me.d, a = me.a; 13 | b = (b << 25) ^ (b >>> 7) ^ c; 14 | c = (c - d) | 0; 15 | d = (d << 24) ^ (d >>> 8) ^ a; 16 | a = (a - b) | 0; 17 | me.b = b = (b << 20) ^ (b >>> 12) ^ c; 18 | me.c = c = (c - d) | 0; 19 | me.d = (d << 16) ^ (c >>> 16) ^ a; 20 | return me.a = (a - b) | 0; 21 | }; 22 | 23 | /* The following is non-inverted tyche, which has better internal 24 | * bit diffusion, but which is about 25% slower than tyche-i in JS. 25 | me.next = function() { 26 | var a = me.a, b = me.b, c = me.c, d = me.d; 27 | a = (me.a + me.b | 0) >>> 0; 28 | d = me.d ^ a; d = d << 16 ^ d >>> 16; 29 | c = me.c + d | 0; 30 | b = me.b ^ c; b = b << 12 ^ d >>> 20; 31 | me.a = a = a + b | 0; 32 | d = d ^ a; me.d = d = d << 8 ^ d >>> 24; 33 | me.c = c = c + d | 0; 34 | b = b ^ c; 35 | return me.b = (b << 7 ^ b >>> 25); 36 | } 37 | */ 38 | 39 | me.a = 0; 40 | me.b = 0; 41 | me.c = 2654435769 | 0; 42 | me.d = 1367130551; 43 | 44 | if (seed === Math.floor(seed)) { 45 | // Integer seed. 46 | me.a = (seed / 0x100000000) | 0; 47 | me.b = seed | 0; 48 | } else { 49 | // String seed. 50 | strseed += seed; 51 | } 52 | 53 | // Mix in string seed, then discard an initial batch of 64 values. 54 | for (var k = 0; k < strseed.length + 20; k++) { 55 | me.b ^= strseed.charCodeAt(k) | 0; 56 | me.next(); 57 | } 58 | } 59 | 60 | function copy(f, t) { 61 | t.a = f.a; 62 | t.b = f.b; 63 | t.c = f.c; 64 | t.d = f.d; 65 | return t; 66 | }; 67 | 68 | function impl(seed, opts) { 69 | var xg = new XorGen(seed), 70 | state = opts && opts.state, 71 | prng = function() { return (xg.next() >>> 0) / 0x100000000; }; 72 | prng.double = function() { 73 | do { 74 | var top = xg.next() >>> 11, 75 | bot = (xg.next() >>> 0) / 0x100000000, 76 | result = (top + bot) / (1 << 21); 77 | } while (result === 0); 78 | return result; 79 | }; 80 | prng.int32 = xg.next; 81 | prng.quick = prng; 82 | if (state) { 83 | if (typeof(state) == 'object') copy(state, xg); 84 | prng.state = function() { return copy(xg, {}); } 85 | } 86 | return prng; 87 | } 88 | 89 | if (module && module.exports) { 90 | module.exports = impl; 91 | } else if (define && define.amd) { 92 | define(function() { return impl; }); 93 | } else { 94 | this.tychei = impl; 95 | } 96 | 97 | })( 98 | this, 99 | (typeof module) == 'object' && module, // present in node.js 100 | (typeof define) == 'function' && define // present with an AMD loader 101 | ); 102 | 103 | 104 | -------------------------------------------------------------------------------- /lib/seedrandom/lib/tychei.min.js: -------------------------------------------------------------------------------- 1 | !function(a,b,c){function d(a){var b=this,c="";b.next=function(){var a=b.b,c=b.c,d=b.d,e=b.a;return a=a<<25^a>>>7^c,c=c-d|0,d=d<<24^d>>>8^e,e=e-a|0,b.b=a=a<<20^a>>>12^c,b.c=c=c-d|0,b.d=d<<16^c>>>16^e,b.a=e-a|0},b.a=0,b.b=0,b.c=-1640531527,b.d=1367130551,a===Math.floor(a)?(b.a=a/4294967296|0,b.b=0|a):c+=a;for(var d=0;d>>0)/4294967296};return g["double"]=function(){do var a=c.next()>>>11,b=(c.next()>>>0)/4294967296,d=(a+b)/(1<<21);while(0===d);return d},g.int32=c.next,g.quick=g,f&&("object"==typeof f&&e(f,c),g.state=function(){return e(c,{})}),g}b&&b.exports?b.exports=f:c&&c.amd?c(function(){return f}):this.tychei=f}(this,"object"==typeof module&&module,"function"==typeof define&&define); -------------------------------------------------------------------------------- /lib/seedrandom/lib/xor128.js: -------------------------------------------------------------------------------- 1 | // A Javascript implementaion of the "xor128" prng algorithm by 2 | // George Marsaglia. See http://www.jstatsoft.org/v08/i14/paper 3 | 4 | (function(global, module, define) { 5 | 6 | function XorGen(seed) { 7 | var me = this, strseed = ''; 8 | 9 | me.x = 0; 10 | me.y = 0; 11 | me.z = 0; 12 | me.w = 0; 13 | 14 | // Set up generator function. 15 | me.next = function() { 16 | var t = me.x ^ (me.x << 11); 17 | me.x = me.y; 18 | me.y = me.z; 19 | me.z = me.w; 20 | return me.w ^= (me.w >>> 19) ^ t ^ (t >>> 8); 21 | }; 22 | 23 | if (seed === (seed | 0)) { 24 | // Integer seed. 25 | me.x = seed; 26 | } else { 27 | // String seed. 28 | strseed += seed; 29 | } 30 | 31 | // Mix in string seed, then discard an initial batch of 64 values. 32 | for (var k = 0; k < strseed.length + 64; k++) { 33 | me.x ^= strseed.charCodeAt(k) | 0; 34 | me.next(); 35 | } 36 | } 37 | 38 | function copy(f, t) { 39 | t.x = f.x; 40 | t.y = f.y; 41 | t.z = f.z; 42 | t.w = f.w; 43 | return t; 44 | } 45 | 46 | function impl(seed, opts) { 47 | var xg = new XorGen(seed), 48 | state = opts && opts.state, 49 | prng = function() { return (xg.next() >>> 0) / 0x100000000; }; 50 | prng.double = function() { 51 | do { 52 | var top = xg.next() >>> 11, 53 | bot = (xg.next() >>> 0) / 0x100000000, 54 | result = (top + bot) / (1 << 21); 55 | } while (result === 0); 56 | return result; 57 | }; 58 | prng.int32 = xg.next; 59 | prng.quick = prng; 60 | if (state) { 61 | if (typeof(state) == 'object') copy(state, xg); 62 | prng.state = function() { return copy(xg, {}); } 63 | } 64 | return prng; 65 | } 66 | 67 | if (module && module.exports) { 68 | module.exports = impl; 69 | } else if (define && define.amd) { 70 | define(function() { return impl; }); 71 | } else { 72 | this.xor128 = impl; 73 | } 74 | 75 | })( 76 | this, 77 | (typeof module) == 'object' && module, // present in node.js 78 | (typeof define) == 'function' && define // present with an AMD loader 79 | ); 80 | 81 | 82 | -------------------------------------------------------------------------------- /lib/seedrandom/lib/xor128.min.js: -------------------------------------------------------------------------------- 1 | !function(a,b,c){function d(a){var b=this,c="";b.x=0,b.y=0,b.z=0,b.w=0,b.next=function(){var a=b.x^b.x<<11;return b.x=b.y,b.y=b.z,b.z=b.w,b.w^=b.w>>>19^a^a>>>8},a===(0|a)?b.x=a:c+=a;for(var d=0;d>>0)/4294967296};return g["double"]=function(){do var a=c.next()>>>11,b=(c.next()>>>0)/4294967296,d=(a+b)/(1<<21);while(0===d);return d},g.int32=c.next,g.quick=g,f&&("object"==typeof f&&e(f,c),g.state=function(){return e(c,{})}),g}b&&b.exports?b.exports=f:c&&c.amd?c(function(){return f}):this.xor128=f}(this,"object"==typeof module&&module,"function"==typeof define&&define); -------------------------------------------------------------------------------- /lib/seedrandom/lib/xor4096.min.js: -------------------------------------------------------------------------------- 1 | !function(a,b,c){function d(a){function b(a,b){var c,d,e,f,g,h=[],i=128;for(b===(0|b)?(d=b,b=null):(b+="\x00",d=0,i=Math.max(i,b.length)),e=0,f=-32;i>f;++f)b&&(d^=b.charCodeAt((f+32)%b.length)),0===f&&(g=d),d^=d<<10,d^=d>>>15,d^=d<<4,d^=d>>>13,f>=0&&(g=g+1640531527|0,c=h[127&f]^=d+g,e=0==c?e+1:0);for(e>=128&&(h[127&(b&&b.length||0)]=-1),e=127,f=512;f>0;--f)d=h[e+34&127],c=h[e=e+1&127],d^=d<<13,c^=c<<17,d^=d>>>15,c^=c>>>12,h[e]=d^c;a.w=g,a.X=h,a.i=e}var c=this;c.next=function(){var a,b,d=c.w,e=c.X,f=c.i;return c.w=d=d+1640531527|0,b=e[f+34&127],a=e[f=f+1&127],b^=b<<13,a^=a<<17,b^=b>>>15,a^=a>>>12,b=e[f]=b^a,c.i=f,b+(d^d>>>16)|0},b(c,a)}function e(a,b){return b.i=a.i,b.w=a.w,b.X=a.X.slice(),b}function f(a,b){null==a&&(a=+new Date);var c=new d(a),f=b&&b.state,g=function(){return(c.next()>>>0)/4294967296};return g["double"]=function(){do var a=c.next()>>>11,b=(c.next()>>>0)/4294967296,d=(a+b)/(1<<21);while(0===d);return d},g.int32=c.next,g.quick=g,f&&(f.X&&e(f,c),g.state=function(){return e(c,{})}),g}b&&b.exports?b.exports=f:c&&c.amd?c(function(){return f}):this.xor4096=f}(this,"object"==typeof module&&module,"function"==typeof define&&define); -------------------------------------------------------------------------------- /lib/seedrandom/lib/xorshift7.js: -------------------------------------------------------------------------------- 1 | // A Javascript implementaion of the "xorshift7" algorithm by 2 | // François Panneton and Pierre L'ecuyer: 3 | // "On the Xorgshift Random Number Generators" 4 | // http://saluc.engr.uconn.edu/refs/crypto/rng/panneton05onthexorshift.pdf 5 | 6 | (function(global, module, define) { 7 | 8 | function XorGen(seed) { 9 | var me = this; 10 | 11 | // Set up generator function. 12 | me.next = function() { 13 | // Update xor generator. 14 | var X = me.x, i = me.i, t, v, w; 15 | t = X[i]; t ^= (t >>> 7); v = t ^ (t << 24); 16 | t = X[(i + 1) & 7]; v ^= t ^ (t >>> 10); 17 | t = X[(i + 3) & 7]; v ^= t ^ (t >>> 3); 18 | t = X[(i + 4) & 7]; v ^= t ^ (t << 7); 19 | t = X[(i + 7) & 7]; t = t ^ (t << 13); v ^= t ^ (t << 9); 20 | X[i] = v; 21 | me.i = (i + 1) & 7; 22 | return v; 23 | }; 24 | 25 | function init(me, seed) { 26 | var j, w, X = []; 27 | 28 | if (seed === (seed | 0)) { 29 | // Seed state array using a 32-bit integer. 30 | w = X[0] = seed; 31 | } else { 32 | // Seed state using a string. 33 | seed = '' + seed; 34 | for (j = 0; j < seed.length; ++j) { 35 | X[j & 7] = (X[j & 7] << 15) ^ 36 | (seed.charCodeAt(j) + X[(j + 1) & 7] << 13); 37 | } 38 | } 39 | // Enforce an array length of 8, not all zeroes. 40 | while (X.length < 8) X.push(0); 41 | for (j = 0; j < 8 && X[j] === 0; ++j); 42 | if (j == 8) w = X[7] = -1; else w = X[j]; 43 | 44 | me.x = X; 45 | me.i = 0; 46 | 47 | // Discard an initial 256 values. 48 | for (j = 256; j > 0; --j) { 49 | me.next(); 50 | } 51 | } 52 | 53 | init(me, seed); 54 | } 55 | 56 | function copy(f, t) { 57 | t.x = f.x.slice(); 58 | t.i = f.i; 59 | return t; 60 | } 61 | 62 | function impl(seed, opts) { 63 | if (seed == null) seed = +(new Date); 64 | var xg = new XorGen(seed), 65 | state = opts && opts.state, 66 | prng = function() { return (xg.next() >>> 0) / 0x100000000; }; 67 | prng.double = function() { 68 | do { 69 | var top = xg.next() >>> 11, 70 | bot = (xg.next() >>> 0) / 0x100000000, 71 | result = (top + bot) / (1 << 21); 72 | } while (result === 0); 73 | return result; 74 | }; 75 | prng.int32 = xg.next; 76 | prng.quick = prng; 77 | if (state) { 78 | if (state.x) copy(state, xg); 79 | prng.state = function() { return copy(xg, {}); } 80 | } 81 | return prng; 82 | } 83 | 84 | if (module && module.exports) { 85 | module.exports = impl; 86 | } else if (define && define.amd) { 87 | define(function() { return impl; }); 88 | } else { 89 | this.xorshift7 = impl; 90 | } 91 | 92 | })( 93 | this, 94 | (typeof module) == 'object' && module, // present in node.js 95 | (typeof define) == 'function' && define // present with an AMD loader 96 | ); 97 | 98 | -------------------------------------------------------------------------------- /lib/seedrandom/lib/xorshift7.min.js: -------------------------------------------------------------------------------- 1 | !function(a,b,c){function d(a){function b(a,b){var c,d,e=[];if(b===(0|b))d=e[0]=b;else for(b=""+b,c=0;cc&&0===e[c];++c);for(d=8==c?e[7]=-1:e[c],a.x=e,a.i=0,c=256;c>0;--c)a.next()}var c=this;c.next=function(){var a,b,d=c.x,e=c.i;return a=d[e],a^=a>>>7,b=a^a<<24,a=d[e+1&7],b^=a^a>>>10,a=d[e+3&7],b^=a^a>>>3,a=d[e+4&7],b^=a^a<<7,a=d[e+7&7],a^=a<<13,b^=a^a<<9,d[e]=b,c.i=e+1&7,b},b(c,a)}function e(a,b){return b.x=a.x.slice(),b.i=a.i,b}function f(a,b){null==a&&(a=+new Date);var c=new d(a),f=b&&b.state,g=function(){return(c.next()>>>0)/4294967296};return g["double"]=function(){do var a=c.next()>>>11,b=(c.next()>>>0)/4294967296,d=(a+b)/(1<<21);while(0===d);return d},g.int32=c.next,g.quick=g,f&&(f.x&&e(f,c),g.state=function(){return e(c,{})}),g}b&&b.exports?b.exports=f:c&&c.amd?c(function(){return f}):this.xorshift7=f}(this,"object"==typeof module&&module,"function"==typeof define&&define); -------------------------------------------------------------------------------- /lib/seedrandom/lib/xorwow.js: -------------------------------------------------------------------------------- 1 | // A Javascript implementaion of the "xorwow" prng algorithm by 2 | // George Marsaglia. See http://www.jstatsoft.org/v08/i14/paper 3 | 4 | (function(global, module, define) { 5 | 6 | function XorGen(seed) { 7 | var me = this, strseed = ''; 8 | 9 | // Set up generator function. 10 | me.next = function() { 11 | var t = (me.x ^ (me.x >>> 2)); 12 | me.x = me.y; me.y = me.z; me.z = me.w; me.w = me.v; 13 | return (me.d = (me.d + 362437 | 0)) + 14 | (me.v = (me.v ^ (me.v << 4)) ^ (t ^ (t << 1))) | 0; 15 | }; 16 | 17 | me.x = 0; 18 | me.y = 0; 19 | me.z = 0; 20 | me.w = 0; 21 | me.v = 0; 22 | 23 | if (seed === (seed | 0)) { 24 | // Integer seed. 25 | me.x = seed; 26 | } else { 27 | // String seed. 28 | strseed += seed; 29 | } 30 | 31 | // Mix in string seed, then discard an initial batch of 64 values. 32 | for (var k = 0; k < strseed.length + 64; k++) { 33 | me.x ^= strseed.charCodeAt(k) | 0; 34 | if (k == strseed.length) { 35 | me.d = me.x << 10 ^ me.x >>> 4; 36 | } 37 | me.next(); 38 | } 39 | } 40 | 41 | function copy(f, t) { 42 | t.x = f.x; 43 | t.y = f.y; 44 | t.z = f.z; 45 | t.w = f.w; 46 | t.v = f.v; 47 | t.d = f.d; 48 | return t; 49 | } 50 | 51 | function impl(seed, opts) { 52 | var xg = new XorGen(seed), 53 | state = opts && opts.state, 54 | prng = function() { return (xg.next() >>> 0) / 0x100000000; }; 55 | prng.double = function() { 56 | do { 57 | var top = xg.next() >>> 11, 58 | bot = (xg.next() >>> 0) / 0x100000000, 59 | result = (top + bot) / (1 << 21); 60 | } while (result === 0); 61 | return result; 62 | }; 63 | prng.int32 = xg.next; 64 | prng.quick = prng; 65 | if (state) { 66 | if (typeof(state) == 'object') copy(state, xg); 67 | prng.state = function() { return copy(xg, {}); } 68 | } 69 | return prng; 70 | } 71 | 72 | if (module && module.exports) { 73 | module.exports = impl; 74 | } else if (define && define.amd) { 75 | define(function() { return impl; }); 76 | } else { 77 | this.xorwow = impl; 78 | } 79 | 80 | })( 81 | this, 82 | (typeof module) == 'object' && module, // present in node.js 83 | (typeof define) == 'function' && define // present with an AMD loader 84 | ); 85 | 86 | 87 | -------------------------------------------------------------------------------- /lib/seedrandom/lib/xorwow.min.js: -------------------------------------------------------------------------------- 1 | !function(a,b,c){function d(a){var b=this,c="";b.next=function(){var a=b.x^b.x>>>2;return b.x=b.y,b.y=b.z,b.z=b.w,b.w=b.v,(b.d=b.d+362437|0)+(b.v=b.v^b.v<<4^(a^a<<1))|0},b.x=0,b.y=0,b.z=0,b.w=0,b.v=0,a===(0|a)?b.x=a:c+=a;for(var d=0;d>>4),b.next()}function e(a,b){return b.x=a.x,b.y=a.y,b.z=a.z,b.w=a.w,b.v=a.v,b.d=a.d,b}function f(a,b){var c=new d(a),f=b&&b.state,g=function(){return(c.next()>>>0)/4294967296};return g["double"]=function(){do var a=c.next()>>>11,b=(c.next()>>>0)/4294967296,d=(a+b)/(1<<21);while(0===d);return d},g.int32=c.next,g.quick=g,f&&("object"==typeof f&&e(f,c),g.state=function(){return e(c,{})}),g}b&&b.exports?b.exports=f:c&&c.amd?c(function(){return f}):this.xorwow=f}(this,"object"==typeof module&&module,"function"==typeof define&&define); -------------------------------------------------------------------------------- /lib/seedrandom/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "seedrandom", 3 | "version": "2.4.2", 4 | "description": "Seeded random number generator for Javascript.", 5 | "main": "index.js", 6 | "keywords": [ 7 | "random", 8 | "seed", 9 | "crypto" 10 | ], 11 | "scripts": { 12 | "test": "grunt travis" 13 | }, 14 | "repository": { 15 | "type": "git", 16 | "url": "git://github.com/davidbau/seedrandom.git" 17 | }, 18 | "author": "David Bau", 19 | "license": "MIT", 20 | "bugs": { 21 | "url": "https://github.com/davidbau/seedrandom/issues" 22 | }, 23 | "homepage": "http://davidbau.com/archives/2010/01/30/random_seeds_coded_hints_and_quintillions.html", 24 | "config": { 25 | "blanket": { 26 | "pattern": [ 27 | "seedrandom.js", 28 | "lib/alea.js", 29 | "lib/xor128.js", 30 | "lib/xorwow.js", 31 | "lib/xorshift7.js", 32 | "lib/tychei.js", 33 | "lib/xor4096.js" 34 | ] 35 | } 36 | }, 37 | "devDependencies": { 38 | "blanket": "latest", 39 | "grunt": "latest", 40 | "grunt-bowercopy": "latest", 41 | "grunt-cli": "latest", 42 | "grunt-contrib-qunit": "<=0.5.2", 43 | "grunt-contrib-uglify": "latest", 44 | "grunt-mocha-cov": "latest", 45 | "grunt-release": "latest", 46 | "grunt-sed": "latest", 47 | "phantomjs": "latest", 48 | "proxyquire": "latest", 49 | "requirejs": "latest" 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /lib/seedrandom/seedrandom.min.js: -------------------------------------------------------------------------------- 1 | !function(a,b){function c(c,j,k){var n=[];j=1==j?{entropy:!0}:j||{};var s=g(f(j.entropy?[c,i(a)]:null==c?h():c,3),n),t=new d(n),u=function(){for(var a=t.g(m),b=p,c=0;q>a;)a=(a+c)*l,b*=l,c=t.g(1);for(;a>=r;)a/=2,b/=2,c>>>=1;return(a+c)/b};return u.int32=function(){return 0|t.g(4)},u.quick=function(){return t.g(4)/4294967296},u["double"]=u,g(i(t.S),a),(j.pass||k||function(a,c,d,f){return f&&(f.S&&e(f,t),a.state=function(){return e(t,{})}),d?(b[o]=a,c):a})(u,s,"global"in j?j.global:this==b,j.state)}function d(a){var b,c=a.length,d=this,e=0,f=d.i=d.j=0,g=d.S=[];for(c||(a=[c++]);l>e;)g[e]=e++;for(e=0;l>e;e++)g[e]=g[f=s&f+a[e%c]+(b=g[e])],g[f]=b;(d.g=function(a){for(var b,c=0,e=d.i,f=d.j,g=d.S;a--;)b=g[e=s&e+1],c=c*l+g[s&(g[e]=g[f=s&f+b])+(g[f]=b)];return d.i=e,d.j=f,c})(l)}function e(a,b){return b.i=a.i,b.j=a.j,b.S=a.S.slice(),b}function f(a,b){var c,d=[],e=typeof a;if(b&&"object"==e)for(c in a)try{d.push(f(a[c],b-1))}catch(g){}return d.length?d:"string"==e?a:a+"\0"}function g(a,b){for(var c,d=a+"",e=0;e 2 | 3 | 4 | 5 | 6 |
      7 |
      8 | 9 | 10 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /lib/seedrandom/test/autoseed.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |
      7 |
      8 | 9 | 10 | 45 | 46 | 47 | -------------------------------------------------------------------------------- /lib/seedrandom/test/bitgen.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | var seedrandom = require('../seedrandom'); 3 | 4 | // process.on('SIGPIPE', process.exit); 5 | function epipeBomb(stream, callback) { 6 | if (stream == null) stream = process.stdout; 7 | if (callback == null) callback = process.exit; 8 | 9 | function epipeFilter(err) { 10 | if (err.code === 'EPIPE') return callback(); 11 | 12 | // If there's more than one error handler (ie, us), 13 | // then the error won't be bubbled up anyway 14 | if (stream.listeners('error').length <= 1) { 15 | stream.removeAllListeners(); // Pretend we were never here 16 | stream.emit('error', err); // Then emit as if we were never here 17 | stream.on('error', epipeFilter);// Reattach, ready for the next error! 18 | } 19 | } 20 | 21 | stream.on('error', epipeFilter); 22 | } 23 | 24 | epipeBomb(); 25 | 26 | var bufsize = 1024 * 256, 27 | buf = new Buffer(bufsize * 4), 28 | prng = seedrandom(0), 29 | count = parseInt(process.argv[2]) || Infinity; 30 | function dowrite() { 31 | while (count > 0) { 32 | for (var j = 0; j < bufsize; ++j) { 33 | buf.writeUInt32BE(Math.floor( 34 | prng() * 256 * 256 * 256 * 256 35 | ), j * 4); 36 | } 37 | count -= bufsize * 32; 38 | if (!process.stdout.write(buf)) { 39 | process.stdout.once('drain', function() { setTimeout(dowrite, 0) }); 40 | return; 41 | } 42 | } 43 | } 44 | 45 | dowrite(); 46 | -------------------------------------------------------------------------------- /lib/seedrandom/test/cryptotest.js: -------------------------------------------------------------------------------- 1 | var proxyquire = require('proxyquire'); 2 | var assert = require("assert"); 3 | var Module = require("module"); 4 | 5 | describe("Crypto API Test", function() { 6 | 7 | var crypto_stub = {}; 8 | var original = Math.random; 9 | var rng, r; 10 | 11 | // Load seedrandom in absence of any crypto package. 12 | it("should be able to seed without crypto", function() { 13 | var noncrypto_sr = proxyquire('../seedrandom', { crypto: null }); 14 | rng = noncrypto_sr('hello.'); 15 | assert.equal(typeof(rng), 'function', "Should return a function."); 16 | r = rng(); 17 | assert.equal(r, 0.9282578795792454, "Should be 'hello.'#1"); 18 | assert(original === Math.random, "Should not change Math.random."); 19 | assert(original !== rng, "PRNG should not be Math.random."); 20 | var noncrypto_sr = proxyquire('../seedrandom', { crypto: null }); 21 | result = noncrypto_sr(); 22 | assert.equal(typeof(result), 'function', "Should return function."); 23 | assert(original === Math.random, "Should not change Math.random."); 24 | r = result(); 25 | assert(r != 0.9282578795792454, "Should not be 'hello.'#1"); 26 | assert(r != 0.7316977468919549, "Should not be 'hello.'#3"); 27 | assert(r != 0.23144008215179881, "Should not be '\\0'#1"); 28 | assert(r != 0.7220382488550928, "Should not be '\\1'#1"); 29 | // Recache original seedrandom. 30 | proxyquire('../seedrandom', {}); 31 | }); 32 | 33 | // Load seedrandom with zeroed-out crypto package. 34 | it("should be able to seed ('hello.') with zero crypto", function() { 35 | var zerocrypto_sr = proxyquire('../seedrandom', { 36 | crypto: { randomBytes: function(n) { 37 | result = []; while (n-- > 0) { result.push(1); } return result; } } 38 | }); 39 | rng = zerocrypto_sr('hello.'); 40 | assert.equal(typeof(rng), 'function', "Should return a function."); 41 | r = rng(); 42 | assert.equal(r, 0.9282578795792454 , "Should be 'hello.'#1"); 43 | assert(original === Math.random, "Should not change Math.random."); 44 | assert(original !== rng, "PRNG should not be Math.random."); 45 | rng = zerocrypto_sr(); 46 | assert.equal(typeof(rng), 'function', "Should return function."); 47 | assert(original === Math.random, "Should not change Math.random."); 48 | r = rng(); 49 | assert.equal(r, 0.7220382488550928, "Should be '\\1'#1"); 50 | r = rng(); 51 | assert.equal(r, 0.0259971860493045, "Should be '\\1'#2"); 52 | // Recache original seedrandom. 53 | proxyquire('../seedrandom', {}); 54 | }); 55 | 56 | 57 | }); 58 | -------------------------------------------------------------------------------- /lib/seedrandom/test/newapi.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |
      7 |
      8 | 9 | 10 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /lib/seedrandom/test/require.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |
      8 |
      9 | 10 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /lib/seedrandom/test/run_dieharder.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # http://www.phy.duke.edu/~rgb/General/dieharder.php 3 | # How to run dieharder against seedrandom: 4 | 5 | node bitgen.js | dieharder -g 200 -a | tee out/dieharder-report.txt 6 | -------------------------------------------------------------------------------- /lib/seedrandom/test/state.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |
      7 |
      8 | 9 | 10 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /settings.js: -------------------------------------------------------------------------------- 1 | MY_ENC_PP = "kind kind kind"; 2 | myMultisig 3 | myTxFee -------------------------------------------------------------------------------- /settings/assets.txt: -------------------------------------------------------------------------------- 1 | //Only display assets with balance above this 2 | MIN_BALANCE_DISPLAY = 0.00000001; 3 | 4 | //Display these assets first 5 | POPULAR_ASSETS = [ 6 | "BITCRYSTALS", 7 | "GEMZ", 8 | "SJCX", 9 | "SCOTCOIN", 10 | "TILECOINX", 11 | "WOODSHARES", 12 | "LTBCOIN", 13 | "FLDC" 14 | ]; 15 | 16 | //Do not display these assets 17 | IGNORE_ASSETS = [ 18 | "A8285897447728690704" 19 | ]; 20 | 21 | //Assets with some negative feedback 22 | CONTORVERSIAL_ASETS = [ 23 | "SWARM", 24 | "A663355118899330088" 25 | ]; 26 | 27 | -------------------------------------------------------------------------------- /settings/encryptedpp.txt: -------------------------------------------------------------------------------- 1 | MY_ENC_PP = 'U2FsdGVkX188rRI+jTOoAIikFpTtuj+kXbv8ubGSZncmrKobn7E8HDo289E+ycs5QIQ5wNO62OqKEhMd8pJv/aHdseC5s07C/mn3yZBPEivoNzE/EXDHGffOaQlrcTVl'; 2 | MY_ADDR = ['1AeEhRpChp1TteqBTkC4GPmyQJgH31MMmK', 3 | '1BsQTfk6tyKgVyReFCoADSrv33bJ6mfMYv', 4 | '1Ch9trfp2ULuPxnU81cA3TDvW17L8YRw6r', 5 | '1LD8Zsr7PP7BeuAK6Yt6VZizN842HJKiTj', 6 | '1GSMiwV3EQddVCKkUinhfhgSrGYyMpHkXB', 7 | '1EBJUScf7jF5ZMK4ygBPicS9BPBcMwnJ2i', 8 | '1GtCsmaUEJPMoHP6FUfMf7Y1SnzEvLX4YS', 9 | '14XN3fRqo9WtbnQaByH7dBDwbaX96dSmNb', 10 | '16KLsH36Tw9YLumnmJ4cMHopGjpHFvCuD1', 11 | '1PrjiWmU7UCy76nyMH7s3Zc7BmRDqPKpwF', 12 | '18rpJfQ1GuHxt8tQJS1LwPfbuySYRJ6LSM', 13 | '1N1j3EG4DQRKhm3YEWajSKF3U58tWaYRhp']; -------------------------------------------------------------------------------- /settings/general.txt: -------------------------------------------------------------------------------- 1 | WALLET_NAME = "CounterTools"; 2 | WALLET_TITLE = "The Bitcoin & Counterparty Wallet"; 3 | NUM_ADDR_DISPLAY = 3; 4 | TX_FEE = 0.00015000; //total btc transaction fee; lower than 0.00010000 not recommended 5 | TO_RECEIVER = 0.00005470; //total btc to receiving address 6 | MSIG_OUTPUT = 0.00007800; //total btc to multisig output (returned to sender) 7 | ADDR_IN_HEADER = 'false'; //set 'true' to display addresses in upper right corner 8 | API_TIMEOUT_MS = 2800; //wait ms before trying backup api. currently only for pushing tx's 9 | PIGGYBACK_ASSET = ''; //if an asset is set, it will be sent along ordinary BTC transactions 10 | PIGGYBACK_TYPE = 'fixed'; //set 'fixed' to send the amount specified by PIGGYBACK_AMOUNT. set 'relative' to send the Bitcoin amount * PIGGYBACK_AMOUNT 11 | PIGGYBACK_AMOUNT = 1; -------------------------------------------------------------------------------- /settings/menu.txt: -------------------------------------------------------------------------------- 1 | MENU_ITEMS = [ 2 | { "category": "Wallet", "items": [ 3 | { "file": "index.html", "name": "Balances", "author": "JP Janssen" }, 4 | { "file": "multisend.html", "name": "Send Many", "author": "JP Janssen" }, 5 | { "file": "piggyback.html", "name": "Piggyback", "author": "JP Janssen" }, 6 | { "file": "history.html", "name": "History", "author": "JP Janssen" } 7 | ]}, 8 | { "category": "Assets", "items": [ 9 | { "file": "registerasset.html", "name": "Register", "author": "JP Janssen" }, 10 | { "file": "bulkregister.html", "name": "Bulk Register", "author": "JP Janssen" }, 11 | { "file": "assetsearch.html", "name": "Search", "author": "JP Janssen" } 12 | ]}, 13 | { "category": "Broadcast", "items": [ 14 | { "file": "broadcastone.html", "name": "Single", "author": "JP Janssen" }, 15 | { "file": "broadcastmany.html", "name": "Multi", "author": "JP Janssen" }, 16 | { "file": "notarize.html", "name": "Notarize File", "author": "JP Janssen" } 17 | ]}, 18 | { "category": "Passphrase", "items": [ 19 | { "file": "vanity.html", "name": "Vanity Address", "author": "JP Janssen" }, 20 | { "file": "repairpp.html", "name": "Repair", "author": "JP Janssen" }, 21 | { "file": "paperwallet.html", "name": "Paper Wallet", "author": "JP Janssen" }, 22 | { "file": "export.html", "name": "Export Keys", "author": "JP Janssen" } 23 | ]}, 24 | { "category": "Misc", "items": [ 25 | { "file": "craps.html", "name": "XCP Craps", "author": "JP Janssen" }, 26 | { "file": "youtube.html", "name": "YouTube", "author": "JP Janssen" }, 27 | { "file": "spellsofgenesis.html", "name": "Spells of Genesis", "author": "JP Janssen" } 28 | ]}, 29 | { "category": "Settings", "items": [ 30 | { "file": "getstarted.html", "name": "Get Started", "author": "JP Janssen" }, 31 | { "file": "settingsuser.html", "name": "Customize", "author": "JP Janssen" }, 32 | { "file": "developer.html", "name": "Developer", "author": "JP Janssen" } 33 | ]} 34 | ]; -------------------------------------------------------------------------------- /spellsofgenesis/BAZAARCARD.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/spellsofgenesis/BAZAARCARD.jpg -------------------------------------------------------------------------------- /spellsofgenesis/BCYDRAGON.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/spellsofgenesis/BCYDRAGON.jpg -------------------------------------------------------------------------------- /spellsofgenesis/BEARWHALECD.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/spellsofgenesis/BEARWHALECD.jpg -------------------------------------------------------------------------------- /spellsofgenesis/BLOCKSIZECD.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/spellsofgenesis/BLOCKSIZECD.jpg -------------------------------------------------------------------------------- /spellsofgenesis/BLOCKTRAILCD.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/spellsofgenesis/BLOCKTRAILCD.jpg -------------------------------------------------------------------------------- /spellsofgenesis/BTCDRAGONCD.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/spellsofgenesis/BTCDRAGONCD.jpg -------------------------------------------------------------------------------- /spellsofgenesis/CARDAIRBITZ.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/spellsofgenesis/CARDAIRBITZ.jpg -------------------------------------------------------------------------------- /spellsofgenesis/CARDAMBER.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/spellsofgenesis/CARDAMBER.jpg -------------------------------------------------------------------------------- /spellsofgenesis/CARDASTEMA.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/spellsofgenesis/CARDASTEMA.jpg -------------------------------------------------------------------------------- /spellsofgenesis/CARDAUGUR.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/spellsofgenesis/CARDAUGUR.jpg -------------------------------------------------------------------------------- /spellsofgenesis/CLEFCARD.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/spellsofgenesis/CLEFCARD.jpg -------------------------------------------------------------------------------- /spellsofgenesis/CNPCARD.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/spellsofgenesis/CNPCARD.jpg -------------------------------------------------------------------------------- /spellsofgenesis/DOGECOINCARD.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/spellsofgenesis/DOGECOINCARD.jpg -------------------------------------------------------------------------------- /spellsofgenesis/EMERALDCARD.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/spellsofgenesis/EMERALDCARD.jpg -------------------------------------------------------------------------------- /spellsofgenesis/ETHEREUMCARD.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/spellsofgenesis/ETHEREUMCARD.jpg -------------------------------------------------------------------------------- /spellsofgenesis/ETHXCPCARD.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/spellsofgenesis/ETHXCPCARD.jpg -------------------------------------------------------------------------------- /spellsofgenesis/FDCARD.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/spellsofgenesis/FDCARD.jpg -------------------------------------------------------------------------------- /spellsofgenesis/GEMZCARD.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/spellsofgenesis/GEMZCARD.jpg -------------------------------------------------------------------------------- /spellsofgenesis/GENESISCARD.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/spellsofgenesis/GENESISCARD.jpg -------------------------------------------------------------------------------- /spellsofgenesis/GOBLINCARD.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/spellsofgenesis/GOBLINCARD.jpg -------------------------------------------------------------------------------- /spellsofgenesis/GOXCARD.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/spellsofgenesis/GOXCARD.jpg -------------------------------------------------------------------------------- /spellsofgenesis/LTBCARD.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/spellsofgenesis/LTBCARD.jpg -------------------------------------------------------------------------------- /spellsofgenesis/MINERCARD.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/spellsofgenesis/MINERCARD.jpg -------------------------------------------------------------------------------- /spellsofgenesis/RIPPLECARD.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/spellsofgenesis/RIPPLECARD.jpg -------------------------------------------------------------------------------- /spellsofgenesis/RUBYCARD.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/spellsofgenesis/RUBYCARD.jpg -------------------------------------------------------------------------------- /spellsofgenesis/SAPPHIRECARD.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/spellsofgenesis/SAPPHIRECARD.jpg -------------------------------------------------------------------------------- /spellsofgenesis/SATOSHICARD.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/spellsofgenesis/SATOSHICARD.jpg -------------------------------------------------------------------------------- /spellsofgenesis/SATOSHILITE.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/spellsofgenesis/SATOSHILITE.jpg -------------------------------------------------------------------------------- /spellsofgenesis/SAYOSIATAX.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/spellsofgenesis/SAYOSIATAX.jpg -------------------------------------------------------------------------------- /spellsofgenesis/SGDARKNESS.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/spellsofgenesis/SGDARKNESS.jpg -------------------------------------------------------------------------------- /spellsofgenesis/SHAPESHIFTCD.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/spellsofgenesis/SHAPESHIFTCD.jpg -------------------------------------------------------------------------------- /spellsofgenesis/SHUMAICARD.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/spellsofgenesis/SHUMAICARD.jpg -------------------------------------------------------------------------------- /spellsofgenesis/SJCXCARD.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/spellsofgenesis/SJCXCARD.jpg -------------------------------------------------------------------------------- /spellsofgenesis/SWARMCD.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/spellsofgenesis/SWARMCD.jpg -------------------------------------------------------------------------------- /spellsofgenesis/TALISMANCARD.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/spellsofgenesis/TALISMANCARD.jpg -------------------------------------------------------------------------------- /spellsofgenesis/WAGATECARD.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/spellsofgenesis/WAGATECARD.jpg -------------------------------------------------------------------------------- /spellsofgenesis/WHEREBCYCARD.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/spellsofgenesis/WHEREBCYCARD.jpg -------------------------------------------------------------------------------- /spellsofgenesis/XAJIARKETAAR.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/spellsofgenesis/XAJIARKETAAR.jpg -------------------------------------------------------------------------------- /spellsofgenesis/XAJIBASILAAR.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/spellsofgenesis/XAJIBASILAAR.jpg -------------------------------------------------------------------------------- /spellsofgenesis/XAJIBESAAR.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/spellsofgenesis/XAJIBESAAR.jpg -------------------------------------------------------------------------------- /spellsofgenesis/XAJIBOSS.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/spellsofgenesis/XAJIBOSS.jpg -------------------------------------------------------------------------------- /spellsofgenesis/XAJIJASPAAR.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/spellsofgenesis/XAJIJASPAAR.jpg -------------------------------------------------------------------------------- /spellsofgenesis/XAJIYEREMAAR.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/spellsofgenesis/XAJIYEREMAAR.jpg -------------------------------------------------------------------------------- /spellsofgenesis/XCPCARD.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/spellsofgenesis/XCPCARD.jpg -------------------------------------------------------------------------------- /spellsofgenesis/ZAIFCARD.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jpja/CounterTools/9f7a99e1e933ae445be60eec08ad24b0366297c0/spellsofgenesis/ZAIFCARD.jpg -------------------------------------------------------------------------------- /template.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 | 37 | 38 | 39 | 40 | 41 | 42 | 45 | 46 | 47 | 48 |
      49 |
      50 | 51 |
      52 | 53 | 54 |

      Header

      55 | 56 |
      57 | 58 |
      59 | 60 | 61 | 62 | --------------------------------------------------------------------------------