Remove all files

This commit is contained in:
Gustavo Maximiliano Cortez 2017-07-25 14:11:03 -03:00
parent e2cd5650ed
commit 1d62da8dda
No known key found for this signature in database
GPG Key ID: 15EDAD8D9F2EB1AF
889 changed files with 0 additions and 75900 deletions

View File

@ -1,283 +0,0 @@
'use strict';
module.exports = function(grunt) {
require('load-grunt-tasks')(grunt);
// Project Configuration
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
exec: {
appConfig: {
command: 'node ./util/buildAppConfig.js'
},
externalServices: {
command: 'node ./util/buildExternalServices.js'
},
clean: {
command: 'rm -Rf bower_components node_modules'
},
cordovaclean: {
command: 'make -C cordova clean'
},
macos: {
command: 'sh webkitbuilds/build-macos.sh sign'
},
coveralls: {
command: 'cat coverage/report-lcov/lcov.info |./node_modules/coveralls/bin/coveralls.js'
},
chrome: {
command: 'make -C chrome-app '
},
wpinit: {
command: 'make -C cordova wp-init',
},
wpcopy: {
command: 'make -C cordova wp-copy',
},
iosdebug: {
command: 'npm run build:ios',
},
ios: {
command: 'npm run build:ios-release',
},
xcode: {
command: 'npm run open:ios',
},
androiddebug: {
command: 'npm run build:android',
},
android: {
command: 'npm run build:android-release',
},
androidrun: {
command: 'npm run run:android && npm run log:android',
},
androidbuild: {
command: 'cd cordova/project && cordova build android --release',
},
androidsign: {
command: 'rm -f cordova/project/platforms/android/build/outputs/apk/android-release-signed-aligned.apk; jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore ../copay.keystore -signedjar cordova/project/platforms/android/build/outputs/apk/android-release-signed.apk cordova/project/platforms/android/build/outputs/apk/android-release-unsigned.apk copay_play && ../android-sdk-macosx/build-tools/21.1.1/zipalign -v 4 cordova/project/platforms/android/build/outputs/apk/android-release-signed.apk cordova/project/platforms/android/build/outputs/apk/android-release-signed-aligned.apk ',
stdin: true,
},
desktopsign: {
cmd: 'gpg -u 1112CFA1 --output webkitbuilds/<%= pkg.title %>-linux.zip.sig --detach-sig webkitbuilds/<%= pkg.title %>-linux.zip ; gpg -u 1112CFA1 --output webkitbuilds/<%= pkg.title %>.exe.sig --detach-sig webkitbuilds/<%= pkg.title %>.exe'
},
desktopverify: {
cmd: 'gpg --verify webkitbuilds/<%= pkg.title %>-linux.zip.sig webkitbuilds/<%= pkg.title %>-linux.zip; gpg --verify webkitbuilds/<%= pkg.title %>.exe.sig webkitbuilds/<%= pkg.title %>.exe'
},
osxsign: {
cmd: 'gpg -u 1112CFA1 --output webkitbuilds/<%= pkg.title %>.dmg.sig --detach-sig webkitbuilds/<%= pkg.title %>.dmg'
},
},
watch: {
options: {
dateFormat: function(time) {
grunt.log.writeln('The watch finished in ' + time + 'ms at ' + (new Date()).toString());
grunt.log.writeln('Waiting for more changes...');
},
},
sass: {
files: ['src/sass/**/**/*.scss'],
tasks: ['sass']
},
main: {
files: [
'src/js/init.js',
'src/js/app.js',
'src/js/directives/*.js',
'src/js/filters/*.js',
'src/js/routes.js',
'src/js/services/*.js',
'src/js/models/*.js',
'src/js/controllers/**/*.js'
],
tasks: ['concat:js']
},
gettext: {
files: [
'i18n/po/*.po',
'i18n/po/*.pot'
],
tasks: ['nggettext_compile','concat']
},
},
sass: {
dist: {
options: {
style: 'compact',
sourcemap: 'none'
},
files: [{
expand: true,
flatten: true,
src: ['src/sass/main.scss'],
dest: 'www/css/',
ext: '.css'
}]
}
},
concat: {
options: {
sourceMap: false,
sourceMapStyle: 'link' // embed, link, inline
},
angular: {
src: [
'bower_components/qrcode-generator/js/qrcode.js',
'bower_components/qrcode-generator/js/qrcode_UTF8.js',
'bower_components/moment/min/moment-with-locales.js',
'bower_components/angular-moment/angular-moment.js',
'bower_components/ng-lodash/build/ng-lodash.js',
'bower_components/angular-qrcode/angular-qrcode.js',
'bower_components/angular-gettext/dist/angular-gettext.js',
'bower_components/ng-csv/build/ng-csv.js',
'bower_components/ionic-toast/dist/ionic-toast.bundle.min.js',
'bower_components/angular-clipboard/angular-clipboard.js',
'bower_components/angular-md5/angular-md5.js',
'bower_components/angular-mocks/angular-mocks.js',
'bower_components/ngtouch/src/ngTouch.js',
'angular-bitauth/angular-bitauth.js',
'angular-bitcore-wallet-client/angular-bitcore-wallet-client.js'
],
dest: 'www/lib/angular-components.js'
},
js: {
src: [
'src/js/app.js',
'src/js/routes.js',
'src/js/directives/*.js',
'src/js/filters/*.js',
'src/js/models/*.js',
'src/js/services/*.js',
'src/js/controllers/**/*.js',
'src/js/translations.js',
'src/js/appConfig.js',
'src/js/externalServices.js',
'src/js/init.js',
'src/js/trezor-url.js',
'bower_components/trezor-connect/connect.js',
'node_modules/bezier-easing/dist/bezier-easing.min.js',
'node_modules/cordova-plugin-qrscanner/dist/cordova-plugin-qrscanner-lib.min.js'
],
dest: 'www/js/app.js'
}
},
uglify: {
options: {
mangle: false
},
prod: {
files: {
'www/js/app.js': ['www/js/app.js'],
'www/lib/angular-components.js': ['www/lib/angular-components.js']
}
}
},
nggettext_extract: {
pot: {
files: {
'i18n/po/template.pot': [
'www/index.html',
'www/views/**/*.html',
'src/js/routes.js',
'src/js/services/*.js',
'src/js/controllers/**/*.js'
]
}
},
},
nggettext_compile: {
all: {
options: {
module: 'copayApp'
},
files: {
'src/js/translations.js': ['i18n/po/*.po']
}
},
},
copy: {
ionic_fonts: {
expand: true,
flatten: true,
src: 'bower_components/ionic/release/fonts/ionicons.*',
dest: 'www/fonts/'
},
ionic_js: {
expand: true,
flatten: true,
src: 'bower_components/ionic/release/js/ionic.bundle.min.js',
dest: 'www/lib/'
},
linux: {
files: [{
expand: true,
cwd: 'webkitbuilds/',
src: ['.desktop', '../www/img/app/favicon.ico', '../resources/<%= pkg.name %>/linux/512x512.png'],
dest: 'webkitbuilds/<%= pkg.title %>/linux64/',
flatten: true,
filter: 'isFile'
}],
}
},
nwjs: {
options: {
appName: '<%= pkg.title %>',
platforms: ['win64', 'osx64', 'linux64'],
buildDir: './webkitbuilds',
version: '0.19.5',
macIcns: './resources/<%= pkg.name %>/mac/app.icns',
exeIco: './www/img/app/logo.ico',
macPlist: {
'CFBundleURLTypes': [
{
'CFBundleURLName': 'URI Handler',
'CFBundleURLSchemes': ['bitcoin', '<%= pkg.name %>']
}
]
}
},
src: ['./package.json', './www/**/*']
},
compress: {
linux: {
options: {
archive: './webkitbuilds/<%= pkg.title %>-linux.zip'
},
expand: true,
cwd: './webkitbuilds/<%= pkg.title %>/linux64/',
src: ['**/*'],
dest: '<%= pkg.title %>-linux/'
}
},
browserify: {
dist: {
files: {
'angular-bitcore-wallet-client/angular-bitcore-wallet-client.js': ['angular-bitcore-wallet-client/index.js'],
'angular-bitauth/angular-bitauth.js': ['angular-bitauth/index.js']
},
}
}
});
grunt.registerTask('default', ['nggettext_compile', 'exec:appConfig', 'exec:externalServices', 'browserify', 'sass', 'concat', 'copy:ionic_fonts', 'copy:ionic_js']);
grunt.registerTask('prod', ['default', 'uglify']);
grunt.registerTask('translate', ['nggettext_extract']);
grunt.registerTask('desktop', ['prod', 'nwjs', 'copy:linux', 'compress:linux']);
grunt.registerTask('osx', ['prod', 'nwjs', 'exec:macos', 'exec:osxsign']);
grunt.registerTask('osx-debug', ['default', 'nwjs']);
grunt.registerTask('chrome', ['exec:chrome']);
grunt.registerTask('wp', ['prod', 'exec:wp']);
grunt.registerTask('wp-copy', ['default', 'exec:wpcopy']);
grunt.registerTask('wp-init', ['default', 'exec:wpinit']);
grunt.registerTask('ios', ['exec:ios']);
grunt.registerTask('ios-debug', ['exec:iosdebug']);
grunt.registerTask('ios-run', ['exec:xcode']);
grunt.registerTask('cordovaclean', ['exec:cordovaclean']);
grunt.registerTask('android-debug', ['exec:androiddebug', 'exec:androidrun']);
grunt.registerTask('android', ['exec:android']);
grunt.registerTask('android-release', ['prod', 'exec:android', 'exec:androidsign']);
grunt.registerTask('desktopsign', ['exec:desktopsign', 'exec:desktopverify']);
};

View File

@ -1,18 +0,0 @@
var bitauthModule = angular.module('bitauthModule', []);
var bitauth = require('../node_modules/bitauth');
bitauthModule.constant('MODULE_VERSION', '1.0.0');
bitauthModule.provider("bitauthService", function() {
var provider = {};
provider.$get = function() {
var service = {};
service = bitauth;
return service;
};
return provider;
});

View File

@ -1,50 +0,0 @@
var bwcModule = angular.module('bwcModule', []);
var Client = require('../node_modules/bitcore-wallet-client');
bwcModule.constant('MODULE_VERSION', '1.0.0');
bwcModule.provider("bwcService", function() {
var provider = {};
provider.$get = function() {
var service = {};
service.getBitcore = function() {
return Client.Bitcore;
};
service.getErrors = function() {
return Client.errors;
};
service.getSJCL = function() {
return Client.sjcl;
};
service.buildTx = Client.buildTx;
service.parseSecret = Client.parseSecret;
service.Client = Client;
service.getUtils = function() {
return Client.Utils;
};
service.getClient = function(walletData, opts) {
opts = opts || {};
//note opts use `bwsurl` all lowercase;
var bwc = new Client({
baseUrl: opts.bwsurl || 'https://bws.bitpay.com/bws/api',
verbose: opts.verbose,
timeout: 100000,
transports: ['polling'],
});
if (walletData)
bwc.import(walletData, opts);
return bwc;
};
return service;
};
return provider;
});

View File

@ -1,11 +0,0 @@
[Desktop Entry]
Type=Application
Version=*VERSION*
Name=*USERVISIBLENAME*
Comment=*PURPOSELINE*
Exec=*PACKAGENAME*
Icon=icon-256.png
Terminal=false
Categories=Finance
X-Ubuntu-Touch=true
X-Ubuntu-StageHint=SideStage

View File

@ -1,115 +0,0 @@
#!/usr/bin/env node
'use strict';
//
var templates = {
'package-template.json': '/',
'index.html': 'www/',
'config-template.xml': '/',
'ionic.config.json': '/',
'.desktop': 'webkitbuilds/',
'setup-win.iss': 'webkitbuilds/',
'build-macos.sh': 'webkitbuilds/',
'manifest.json': 'chrome-app/',
// 'bower.json': '/',
};
var configDir = process.argv[2] || 'copay';
var JSONheader = ' { ' + "\n" + ' "//":"Changes to this file will be overwritten",' + "\n" + ' "//":" Modify it in the app-template directory", ' + "\n";
var MakefileHeader = "# PLEASE! Do not edit this file directly \n# Modify it at app-template/\n";
var fs = require('fs-extra');
var path = require('path');
var configBlob = fs.readFileSync(configDir + '/appConfig.json', 'utf8');
var config = JSON.parse(configBlob, 'utf8');
/////////////////
console.log('Applying ' + config.nameCase + ' template');
Object.keys(templates).forEach(function(k) {
var targetDir = templates[k];
console.log(' # ' + k + ' => ' + targetDir);
var content = fs.readFileSync(k, 'utf8');
if (k.indexOf('.json') > 0) {
content = content.replace('{', JSONheader);
} else if (k.indexOf('Makefile') >= 0) {
content = MakefileHeader + content;
}
Object.keys(config).forEach(function(k) {
if (k.indexOf('_') == 0) return;
var r = new RegExp("\\*" + k.toUpperCase() + "\\*", "g");
content = content.replace(r, config[k]);
});
var r = new RegExp("\\*[A-Z]{3,30}\\*", "g");
var s = content.match(r);
if (s) {
console.log('UNKNOWN VARIABLE', s);
process.exit(1);
}
if (k === 'config-template.xml') {
k = 'config.xml';
} else if (k === 'package-template.json') {
k = 'package.json';
}
if (!fs.existsSync('../' + targetDir)) {
fs.mkdirSync('../' + targetDir);
}
fs.writeFileSync('../' + targetDir + k, content, 'utf8');
});
/////////////////
console.log('Copying ' + configDir + '/appConfig.json' + ' to root');
configBlob = configBlob.replace('{', JSONheader);
fs.writeFileSync('../appConfig.json', configBlob, 'utf8');
////////////////
var externalServices;
try {
var confName = configDir.toUpperCase();
var externalServicesConf = confName + '_EXTERNAL_SERVICES_CONFIG_LOCATION';
console.log('Looking for ' + externalServicesConf + '...');
if (typeof process.env[externalServicesConf] !== 'undefined') {
var location = process.env[externalServicesConf]
if (location.charAt(0) === '~') {
location = location.replace(/^\~/, process.env.HOME || process.env.USERPROFILE);
}
console.log('Found at: ' + location);
console.log('Copying ' + location + ' to root');
externalServices = fs.readFileSync(location, 'utf8');
} else {
throw externalServicesConf + ' environment variable not set.';
}
} catch (err) {
console.log(err);
externalServices = '{}';
console.log('External services not configured');
}
fs.writeFileSync('../externalServices.json', externalServices, 'utf8');
function copyDir(from, to) {
console.log('Copying dir ' + from + ' to ' + to);
if (fs.existsSync(to)) fs.removeSync(to); // remove previous app directory
if (!fs.existsSync(from)) return; // nothing to do
fs.copySync(from, to);
}
// Push Notification
fs.copySync(configDir + '/GoogleService-Info.plist', '../GoogleService-Info.plist');
fs.copySync(configDir + '/google-services.json', '../google-services.json');
copyDir(configDir + '/img', '../www/img/app');
copyDir(configDir + '/sass', '../src/sass/app');
console.log("apply.js finished. \n\n");

View File

@ -1,40 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>AD_UNIT_ID_FOR_BANNER_TEST</key>
<string>ca-app-pub-3940256099942544/2934735716</string>
<key>AD_UNIT_ID_FOR_INTERSTITIAL_TEST</key>
<string>ca-app-pub-3940256099942544/4411468910</string>
<key>CLIENT_ID</key>
<string>149194066736-nrekra78jvd1cqakh0l69bpbgmj05j81.apps.googleusercontent.com</string>
<key>REVERSED_CLIENT_ID</key>
<string>com.googleusercontent.apps.149194066736-nrekra78jvd1cqakh0l69bpbgmj05j81</string>
<key>API_KEY</key>
<string>AIzaSyAygvOaO5hmkL2Vze66yVAGU2QhcoTyZFA</string>
<key>GCM_SENDER_ID</key>
<string>149194066736</string>
<key>PLIST_VERSION</key>
<string>1</string>
<key>BUNDLE_ID</key>
<string>com.bitpay.wallet</string>
<key>PROJECT_ID</key>
<string>bitpay-wallet</string>
<key>STORAGE_BUCKET</key>
<string>bitpay-wallet.appspot.com</string>
<key>IS_ADS_ENABLED</key>
<true/>
<key>IS_ANALYTICS_ENABLED</key>
<false/>
<key>IS_APPINVITE_ENABLED</key>
<true/>
<key>IS_GCM_ENABLED</key>
<true/>
<key>IS_SIGNIN_ENABLED</key>
<true/>
<key>GOOGLE_APP_ID</key>
<string>1:149194066736:ios:64dc8a200f13f9ee</string>
<key>DATABASE_URL</key>
<string>https://bitpay-wallet.firebaseio.com</string>
</dict>
</plist>

View File

@ -1,35 +0,0 @@
{
"packageName": "bitpay",
"packageDescription": "Secure Bitcoin Wallet",
"packageNameId": "com.bitpay.wallet",
"statusBarColor": "#1e3186",
"userVisibleName": "BitPay",
"purposeLine": "Secure Bitcoin Wallet",
"bundleName": "wallet",
"appUri": "bitpay",
"name": "bitpay",
"nameNoSpace": "bitpay",
"nameCase": "BitPay",
"nameCaseNoSpace": "BitPay",
"gitHubRepoName": "copay",
"gitHubRepoUrl": "git://github.com/bitpay/copay.git",
"gitHubRepoBugs": "https://github.com/bitpay/copay/issues",
"disclaimerUrl": "",
"url": "https://bitpay.com",
"appDescription": "Secure Bitcoin Wallet",
"winAppName": "BitPayWallet",
"WindowsStoreIdentityName": "18C7659D.BitPaySecureBitcoinWallet",
"WindowsStoreDisplayName": "BitPay - Secure Bitcoin Wallet",
"windowsAppId": "2d1002d7-ee34-4f60-bd29-0c871ba0c195",
"pushSenderId": "1036948132229",
"description": "Secure Bitcoin Wallet",
"version": "3.7.0",
"androidVersion": "370000",
"_extraCSS": null,
"_enabledExtensions": {
"coinbase": true,
"glidera": true,
"debitcard": true,
"amazon": true
}
}

View File

@ -1,42 +0,0 @@
{
"project_info": {
"project_number": "149194066736",
"firebase_url": "https://bitpay-wallet.firebaseio.com",
"project_id": "bitpay-wallet",
"storage_bucket": "bitpay-wallet.appspot.com"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:149194066736:android:64dc8a200f13f9ee",
"android_client_info": {
"package_name": "com.bitpay.wallet"
}
},
"oauth_client": [
{
"client_id": "149194066736-1gf0d9nk288dke5jdiuj8unkplhl8nco.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AIzaSyCZ8nyjRBe-0Lyur0LjO-SOkjv32uNQKy0"
}
],
"services": {
"analytics_service": {
"status": 1
},
"appinvite_service": {
"status": 1,
"other_platform_oauth_client": []
},
"ads_service": {
"status": 2
}
}
}
],
"configuration_version": "1"
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 626 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 921 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 195 KiB

View File

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="116.6 16.8 86.8 30.5"><path d="M203.4 24h-4.5l-2.6 11-.4 1.5c-.3.1-.5.1-.8.2-.5.1-.9.1-1.4.1-.6 0-1-.1-1.4-.3-.3-.2-.6-.4-.7-.7-.1-.3-.2-.7-.2-1.1 0-.4.1-.9.2-1.3l1.4-5.7.9-3.8h-4.6l-2.1 8.8c-.3 1.1-.4 2.1-.4 3 0 1 .1 1.8.4 2.5.3.7.9 1.3 1.7 1.7.8.4 1.9.6 3.3.6 1 0 1.9-.1 2.6-.3h.1c-.2.9-.6 1.6-1.3 2.2-.7.6-1.6.9-2.9.9-.5 0-1.1 0-1.5-.1l-.9 3.7c.6.1 1.3.1 2 .1 1.4 0 2.6-.2 3.6-.5s1.9-.8 2.7-1.4c.7-.6 1.4-1.4 1.9-2.4s.9-2.1 1.2-3.4l3.1-13.1.6-2.2zm-18.9 9.4c-.3 1.1-.4 2.3-.3 3.5.1 1.2.6 2.9 1 3.8h-4.4c-.5-.9-.5-1.3-.6-1.6-.6.5-1.2.8-1.9 1.1-.7.3-1.4.5-2.3.5-1 0-1.9-.2-2.6-.5-.7-.3-1.3-.8-1.8-1.4-.5-.6-.8-1.3-1-2.1-.2-.8-.3-1.6-.3-2.6 0-1.4.3-2.7.7-3.9.5-1.2 1.2-2.3 2.1-3.2.9-.9 3-3 6.5-3h7l-2.1 9.4zm-3.2-5.6c-2.1 0-2.5 0-3.4.4-.6.3-1.1.8-1.6 1.4-.4.5-.8 1.2-1.1 1.9-.3.7-.4 1.5-.4 2.3 0 1 .2 1.7.5 2.3s.9.8 1.8.8c.5 0 .9-.1 1.3-.3.4-.2.8-.5 1.2-.9 0-.5.1-1 .2-1.6s.2-1.1.3-1.5l1.2-4.8m-12.1 2.8c0 1.5-.3 2.8-.7 4.1-.5 1.2-1.2 2.3-2 3.2-.9.9-1.9 1.6-3.1 2.1-1.2.5-2.5.8-3.9.8-.7 0-1.4-.1-2.1-.2l-1.4 5.5h-4.5l5.2-22h6c1.1 0 2.1.2 2.9.5.8.3 1.5.8 2 1.4.5.6.9 1.3 1.2 2.1.3.7.4 1.6.4 2.5zm-11.1 6.2c.3.1.8.1 1.3.1.8 0 1.5-.1 2.2-.4.6-.3 1.2-.7 1.7-1.2s.8-1.2 1.1-1.9c.3-.7.4-1.6.4-2.5 0-.9-.2-1.6-.6-2.2-.4-.6-1.1-.9-2-.9h-1.8l-2.3 9zm-9.4 0c-.6 0-1-.1-1.4-.3-.3-.2-.6-.4-.7-.7-.1-.3-.2-.7-.2-1.1s.1-.9.2-1.3l1.4-5.7h5.1l.9-3.8h-5.2l1.2-4.8-4.8.8-3 12.9c-.3 1.1-.4 2.1-.4 3 0 1 .1 1.8.4 2.5.3.7.9 1.3 1.7 1.7.8.4 1.9.6 3.3.6 1 0 1.9-.1 2.6-.3.1 0 .2 0 .3-.1l.9-3.9c-.3.1-.6.2-.9.2-.5.3-.9.3-1.4.3zM137.2 24l-4 16.7h4.5l4-16.7zm4.9-2l.7-2.9h-4.5l-.7 2.9zm-14.9 2c1 0 1.8.2 2.5.5s1.3.8 1.8 1.4c.5.6.8 1.3 1 2.1s.3 1.6.3 2.5c0 1.4-.3 2.7-.8 4-.5 1.2-1.2 2.3-2.1 3.3s-1.9 1.6-3.2 2.2c-1.2.5-2.5.8-3.9.8h-1c-.5 0-1 0-1.6-.1-.6-.1-1.2-.2-1.9-.4s-1.3-.4-1.9-.7l5.2-22 4.7-.7-1.9 7.8c.4-.2.8-.3 1.2-.4.7-.3 1.1-.3 1.6-.3zm-4 13c.7 0 1.4-.2 2-.5.6-.3 1.2-.8 1.6-1.4.5-.6.8-1.2 1.1-1.9.3-.7.4-1.5.4-2.3 0-1-.2-1.7-.5-2.3-.3-.5-1-.8-1.9-.8-.3 0-.6 0-1 .1-.5.1-.8.3-1.2.6l-2 8.3c.6.1.8.1.9.1.2.1.4.1.6.1z" fill="#FFF"/></svg>

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 274 KiB

View File

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="252.5 17 185 64"><path d="M437.6 32.1H428l-5.6 23.4-.8 3.1c-.6.2-1 .2-1.7.4-1 .2-1.9.2-2.9.2-1.3 0-2.1-.2-2.9-.6-.6-.4-1.3-.8-1.5-1.5-.2-.6-.4-1.5-.4-2.3s.2-1.9.4-2.7l2.9-12.2 1.9-8.1h-9.8l-4.5 18.7c-.6 2.3-.8 4.5-.8 6.4 0 2.1.2 3.8.8 5.3.6 1.5 1.9 2.7 3.6 3.6 1.7.8 4.1 1.3 7 1.3 2.1 0 4.1-.2 5.6-.6h.2c-.4 1.9-1.3 3.4-2.7 4.7-1.5 1.3-3.4 1.9-6.2 1.9-1 0-2.3 0-3.1-.2l-2 7.9c1.3.2 2.7.2 4.3.2 2.9 0 5.6-.4 7.7-1 2.1-.6 4.1-1.7 5.8-2.9 1.5-1.3 2.9-2.9 4.1-5.1 1-2.1 1.9-4.5 2.5-7.2l6.6-27.8 1.1-4.9zM397.4 52c-.6 2.3-.8 4.9-.6 7.4.2 2.5 1.3 6.2 2.1 8.1h-9.3c-1-1.9-1-2.7-1.3-3.4-1.3 1-2.5 1.7-4.1 2.3-1.5.6-2.9 1-4.9 1-2.1 0-4.1-.4-5.6-1s-2.7-1.7-3.8-2.9c-1-1.3-1.7-2.7-2.1-4.5s-.6-3.4-.6-5.6c0-2.9.6-5.8 1.5-8.3 1-2.5 2.5-4.9 4.5-6.8 1.9-1.9 6.4-6.4 13.8-6.4h14.9L397.4 52zm-6.8-11.8c-4.5 0-5.3 0-7.2.8-1.3.6-2.3 1.7-3.4 2.9-.8 1-1.7 2.5-2.3 4.1-.6 1.5-.8 3.1-.8 4.9 0 2.1.4 3.6 1 4.9.6 1.2 1.9 1.7 3.8 1.7 1 0 1.9-.2 2.7-.6.8-.4 1.7-1 2.5-1.9 0-1 .2-2.1.4-3.4.2-1.3.4-2.3.6-3.1l2.7-10.3m-25.8 6c0 3.1-.6 6-1.5 8.7-1 2.5-2.5 4.9-4.3 6.8-1.9 1.9-4.1 3.4-6.6 4.5s-5.3 1.7-8.3 1.7c-1.5 0-2.9-.2-4.5-.4l-2.9 11.6h-9.5l11-46.8H351c2.3 0 4.5.4 6.2 1s3.1 1.7 4.3 2.9c1 1.3 1.9 2.7 2.5 4.5.6 1.6.8 3.5.8 5.5zm-23.5 13.1c.6.2 1.7.2 2.7.2 1.7 0 3.1-.2 4.7-.8 1.3-.6 2.5-1.5 3.6-2.5 1-1 1.7-2.5 2.3-4.1.6-1.5.8-3.4.8-5.3s-.4-3.4-1.3-4.7c-.8-1.3-2.3-1.9-4.3-1.9H346l-4.7 19.1zm-20 0c-1.3 0-2.1-.2-2.9-.6-.6-.4-1.3-.8-1.5-1.5-.2-.6-.4-1.5-.4-2.3 0-.8.2-1.9.4-2.7l2.9-12.2h10.8l1.9-8.1h-11l2.5-10.2-10.2 1.7-6.4 27.4c-.6 2.3-.8 4.5-.8 6.4 0 2.1.2 3.8.8 5.3.6 1.5 1.9 2.7 3.6 3.6 1.7.9 4.1 1.3 7 1.3 2.1 0 4.1-.2 5.6-.6.2 0 .4 0 .6-.2l1.9-8.3c-.6.2-1.3.4-1.9.4-1 .6-1.9.6-2.9.6zm-24.4-27.2l-8.5 35.5h9.5l8.5-35.5zm10.3-4.3l1.5-6.1h-9.5l-1.5 6.1zm-31.6 4.3c2.1 0 3.8.4 5.3 1s2.7 1.7 3.8 2.9c1 1.3 1.7 2.7 2.1 4.5s.6 3.4.6 5.3c0 2.9-.6 5.8-1.7 8.5-1 2.5-2.5 4.9-4.5 7-1.9 2.1-4.1 3.4-6.8 4.7-2.5 1-5.3 1.7-8.3 1.7H264c-1.1 0-2.1 0-3.4-.2-1.3-.2-2.5-.4-4.1-.8-1.5-.4-2.7-.8-4.1-1.5l11.1-46.6 10-1.5-4.1 16.6c.8-.4 1.7-.6 2.5-.8 1.8-.8 2.6-.8 3.7-.8zm-8.5 27.6c1.5 0 2.9-.4 4.3-1s2.5-1.7 3.4-2.9c1-1.3 1.7-2.5 2.3-4.1s.8-3.1.8-4.9c0-2.1-.4-3.6-1-4.9-.6-1-2.1-1.7-4.1-1.7-.6 0-1.3 0-2.1.2-1 .2-1.7.6-2.5 1.3L264 59.4c1.3.2 1.7.2 1.9.2.3.1.8.1 1.2.1z" fill="#002855"/></svg>

Before

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -1,184 +0,0 @@
#!/bin/bash
SHOULD_SIGN=$1
if [ "$SHOULD_SIGN" ]
then
echo "Will sign the APP"
fi
# by Andy Maloney
# http://asmaloney.com/2013/07/howto/packaging-a-mac-os-x-application-using-a-dmg/
# make sure we are in the correct dir when we double-click a .command file
dir=${0%/*}
if [ -d "$dir" ]; then
cd "$dir"
fi
# set up your app name, architecture, and background image file name
APP_NAME="*USERVISIBLENAME*"
rm dmg-background.tiff
ln -s ../resources/*PACKAGENAME*/mac/dmg-background.tiff dmg-background.tiff
rm volume-icon.icns
ln -s ../resources/*PACKAGENAME*/mac/volume-icon.icns volume-icon.icns
DMG_VOLUME_ICON="volume-icon.icns"
DMG_BACKGROUND_IMG="dmg-background.tiff"
PATH_NAME="${APP_NAME}/osx64/"
# you should not need to change these
APP_EXE="${PATH_NAME}${APP_NAME}.app/Contents/MacOS/nwjs"
VOL_NAME="${APP_NAME}"
DMG_TMP="${VOL_NAME}-temp.dmg"
DMG_FINAL="${VOL_NAME}.dmg"
STAGING_DIR="tmp"
# Check the background image DPI and convert it if it isn't 72x72
_BACKGROUND_IMAGE_DPI_H=`sips -g dpiHeight ${DMG_BACKGROUND_IMG} | grep -Eo '[0-9]+\.[0-9]+'`
_BACKGROUND_IMAGE_DPI_W=`sips -g dpiWidth ${DMG_BACKGROUND_IMG} | grep -Eo '[0-9]+\.[0-9]+'`
if [ $(echo " $_BACKGROUND_IMAGE_DPI_H != 72.0 " | bc) -eq 1 -o $(echo " $_BACKGROUND_IMAGE_DPI_W != 72.0 " | bc) -eq 1 ]; then
echo "WARNING: The background image's DPI is not 72. This will result in distorted backgrounds on Mac OS X 10.7+."
echo " I will convert it to 72 DPI for you."
_DMG_BACKGROUND_TMP="${DMG_BACKGROUND_IMG%.*}"_dpifix."${DMG_BACKGROUND_IMG##*.}"
sips -s dpiWidth 72 -s dpiHeight 72 ${DMG_BACKGROUND_IMG} --out ${_DMG_BACKGROUND_TMP}
DMG_BACKGROUND_IMG="${_DMG_BACKGROUND_TMP}"
fi
# clear out any old data
rm -rf "${STAGING_DIR}" "${DMG_TMP}" "${DMG_FINAL}"
# copy over the stuff we want in the final disk image to our staging dir
mkdir -p "${STAGING_DIR}"
cp -rpf "${PATH_NAME}${APP_NAME}.app" "${STAGING_DIR}"
# ... cp anything else you want in the DMG - documentation, etc.
pushd "${STAGING_DIR}"
popd
# Fix size to 250MB
SIZE=250
if [ $? -ne 0 ]; then
echo "Error: Cannot compute size of staging dir"
exit
fi
# Sign Code (MATIAS)
if [ $SHOULD_SIGN ]
then
echo "Signing ${APP_NAME} DMG"
export IDENTITY="3rd Party Mac Developer Application: BitPay, Inc. (884JRH5R93)"
# not need for 'out of app store' distribution (?)
# export PARENT_PLIST=parent.plist
# export CHILD_PLIST=child.plist
export APP_PATH=${STAGING_DIR}/${APP_NAME}.app
codesign --deep -s "${IDENTITY}" $APP_PATH"/Contents/Versions/52.0.2743.82/nwjs Helper.app" && echo "Sign 1"
codesign --deep -s "${IDENTITY}" $APP_PATH"/Contents/Versions/52.0.2743.82/nwjs Framework.framework/Resources/app_mode_loader.app" && echo "Sign 2"
codesign --deep -s "${IDENTITY}" $APP_PATH && echo "Sign 3"
echo "Signing Done"
fi
# create the temp DMG file
hdiutil create -srcfolder "${STAGING_DIR}" -volname "${VOL_NAME}" -fs HFS+ \
-fsargs "-c c=64,a=16,e=16" -format UDRW -megabytes ${SIZE} "${DMG_TMP}"
echo "Created DMG: ${DMG_TMP}"
# mount it and save the device
DEVICE=$(hdiutil attach -readwrite -noverify "${DMG_TMP}" | \
egrep '^/dev/' | sed 1q | awk '{print $1}')
sleep 2
# add a link to the Applications dir
echo "Adding link to /Applications"
pushd /Volumes/"${VOL_NAME}"
# We name the symlink with a *non-breaking space* to avoid displaying extra text
ln -s /Applications " " # <- not your ordinary space
popd
# "bless" the folder to open it in Finder automatically when the volume is mounted
echo "Blessing disk image"
bless --folder /Volumes/"${VOL_NAME}" --openfolder /Volumes/"${VOL_NAME}"
# add a background image
echo "Adding background to disk image"
mkdir /Volumes/"${VOL_NAME}"/.background
cp "${DMG_BACKGROUND_IMG}" /Volumes/"${VOL_NAME}"/.background/
echo "Adding volume icon to disk image"
# we install this here to avoid trying to install it on linux or windows, where
# it fails to install
npm install fileicon
# use fileicon node_module
cp "${DMG_VOLUME_ICON}" /Volumes/"${VOL_NAME}"/.VolumeIcon.icns
`npm bin`/fileicon set /Volumes/"${VOL_NAME}"/ /Volumes/"${VOL_NAME}"/.VolumeIcon.icns
# tell the Finder to resize the window, set the background,
# change the icon size, place the icons in the right position, etc.
echo "Designing the unboxing experience..."
WINDOW_X=400
WINDOW_Y=100
WINDOW_WIDTH=500
WINDOW_HEIGHT=375
ICON_SIZE=100
ICON_LR_PADDING=140
ICON_Y=185
WINDOW_RIGHT=$(expr $WINDOW_X + $WINDOW_WIDTH)
WINDOW_BOTTOM=$(expr $WINDOW_Y + $WINDOW_HEIGHT)
RIGHT_ICON_PADDING_RIGHT=$(expr $WINDOW_WIDTH - $ICON_LR_PADDING)
HIDE_X=100 # no need to exceed WINDOW_WIDTH will only create another scrollbar
HIDE_Y=$(expr $WINDOW_HEIGHT + $ICON_SIZE)
echo '
tell application "Finder"
tell disk "'${VOL_NAME}'"
open
set current view of container window to icon view
set toolbar visible of container window to false
set statusbar visible of container window to false
set the bounds of container window to {'${WINDOW_X}', '${WINDOW_Y}', '${WINDOW_RIGHT}', '${WINDOW_BOTTOM}'}
set viewOptions to the icon view options of container window
set arrangement of viewOptions to not arranged
set icon size of viewOptions to '${ICON_SIZE}'
set background picture of viewOptions to file ".background:'${DMG_BACKGROUND_IMG}'"
set position of item "'${APP_NAME}'.app" of container window to {'${ICON_LR_PADDING}', '${ICON_Y}'}
set position of item " " of container window to {'${RIGHT_ICON_PADDING_RIGHT}', '${ICON_Y}'}
set position of item ".background" of container window to {'${HIDE_X}', '${HIDE_Y}'}
set position of item ".VolumeIcon.icns" of container window to {'${HIDE_X}', '${HIDE_Y}'}
set position of item ".fseventsd" of container window to {'${HIDE_X}', '${HIDE_Y}'}
set position of item "Icon?" of container window to {'${HIDE_X}', '${HIDE_Y}'}
close
open
update without registering applications
delay 2
end tell
end tell
' | osascript
sync
# unmount it
hdiutil detach "${DEVICE}"
# now make the final image a compressed disk image
echo "Creating compressed image"
hdiutil convert "${DMG_TMP}" -format UDZO -imagekey zlib-level=9 -o "${DMG_FINAL}"
# clean up
rm -rf "${DMG_TMP}"
rm -rf "${STAGING_DIR}"
echo 'Done.'
exit

View File

@ -1,157 +0,0 @@
<?xml version='1.0' encoding='utf-8'?>
<widget id="com.bitpay.*BUNDLENAME*"
version="*VERSION*"
android-versionCode="*ANDROIDVERSION*"
ios-CFBundleVersion="*VERSION*">
<name>*USERVISIBLENAME*</name>
<description>
*PURPOSELINE*
</description>
<author email="support@bitpay.com" href="*URL*">
BitPay Inc.
</author>
<content src="index.html" />
<access origin="*" />
<preference name="AndroidPersistentFileLocation" value="Internal" />
<preference name="iosPersistentFileLocation" value="Library" />
<preference name="DisallowOverscroll" value="true"/>
<preference name="HideKeyboardFormAccessoryBar" value="true"/>
<!-- #355 -->
<preference name="WindowsStoreIdentityName" value="*WINDOWSSTOREIDENTITYNAME*"/>
<preference name="WindowsStoreDisplayName" value="*WINDOWSSTOREDISPLAYNAME*"/>
<!-- <preference name="KeyboardDisplayRequiresUserAction" value="false" /> -->
<preference name="StatusBarBackgroundColor" value="*STATUSBARCOLOR*" />
<preference name="BackupWebStorage" value="none"/>
<preference name="windows-target-version" value="10.0"/>
<preference name="Orientation" value="default" />
<preference name="cordova-custom-config-stoponerror" value="true" />
<preference name="StatusBarOverlaysWebView" value="true" />
<preference name="StatusBarStyle" value="lightcontent" />
<preference name="ShowSplashScreenSpinner" value="false" />
<preference name="AutoHideSplashScreen" value="false" />
<preference name="FadeSplashScreen" value="true" />
<preference name="FadeSplashScreenDuration" value="100" />
<preference name="SplashMaintainAspectRatio" value="true" />
<!-- Android Version: KitKat 4.4 (API Level 19) or higher -->
<preference name="android-minSdkVersion" value="19" />
<!-- Plugins -->
<plugin name="cordova-plugin-device" spec="~1.1.3"/>
<plugin name="cordova-plugin-globalization" spec="~1.0.4" />
<plugin name="cordova-plugin-splashscreen" spec="~4.0.0" />
<plugin name="cordova-plugin-statusbar" spec="~2.2.0" />
<plugin name="cordova-plugin-inappbrowser" spec="~1.5.0" />
<plugin name="cordova-plugin-x-toast" spec="~2.5.2" />
<plugin name="com.verso.cordova.clipboard" spec="https://github.com/Visigo/CordovaClipboard" />
<plugin name="cordova-plugin-x-socialsharing" spec="https://github.com/EddyVerbruggen/SocialSharing-PhoneGap-Plugin.git" />
<plugin name="cordova-plugin-spinner-dialog" spec="~1.3.1" />
<plugin name="cordova-plugin-dialogs" spec="~1.3.0" />
<plugin name="cordova-plugin-network-information" spec="~1.3.0" />
<plugin name="cordova-plugin-console" spec="~1.0.4" />
<plugin name="cordova-plugin-uniquedeviceid" spec="~1.3.2" />
<plugin name="cordova-plugin-file" spec="~4.3.0" />
<plugin name="cordova-plugin-touch-id" spec="~3.2.0" />
<plugin name="cordova-plugin-transport-security" spec="~0.1.2" />
<plugin name="cordova-ios-requires-fullscreen" spec="~0.0.2" />
<plugin name="cordova-plugin-android-fingerprint-auth" spec="~0.2.0" />
<plugin name="cordova-plugin-screen-orientation" spec="~1.4.2" />
<plugin name="ionic-plugin-keyboard" spec="~2.2.1" />
<plugin name="cordova-plugin-whitelist" spec="~1.3.0" />
<plugin name="cordova-plugin-wkwebview-engine" spec="https://github.com/driftyco/cordova-plugin-wkwebview-engine.git#4221015eb3f309fe593a7d81205b691e27088743" />
<plugin name="cordova-plugin-qrscanner" spec="~2.5.0" />
<plugin name="cordova-plugin-customurlscheme" spec="https://github.com/cmgustavo/Custom-URL-scheme.git">
<variable name="URL_SCHEME" value="bitcoin" />
<variable name="SECOND_URL_SCHEME" value="*APPURI*" />
</plugin>
<plugin name="cordova-custom-config" spec="~3.0.5" />
<plugin name="cordova-plugin-queries-schemes" spec="~0.1.5" />
<plugin name="cordova-plugin-fcm" spec="https://github.com/cmgustavo/cordova-plugin-fcm.git" />
<!-- Delete cordova-plugin-qrscanner plugin and enable phonegap-plugin-barcodescanner to build cordova windows-->
<!-- <plugin name="phonegap-plugin-barcodescanner" spec="https://github.com/phonegap/phonegap-plugin-barcodescanner.git" /> -->
<!-- Supported Platforms -->
<engine name="ios" spec="~4.2.1" />
<engine name="android" spec="~6.2.3" />
<engine name="windows" spec="~5.0.0" />
<!-- Platform Specific Settings -->
<platform name="ios">
<config-file platform="ios" target="*-Info.plist" parent="UIStatusBarHidden"><true/></config-file>
<config-file platform="ios" target="*-Info.plist" parent="UIViewControllerBasedStatusBarAppearance"><false/></config-file>
<config-file target="*-Info.plist" parent="ITSAppUsesNonExemptEncryption"><false/></config-file>
<icon src="resources/*PACKAGENAME*/ios/icon/icon-60@3x.png" width="180" height="180" />
<icon src="resources/*PACKAGENAME*/ios/icon/icon-60.png" width="60" height="60" />
<icon src="resources/*PACKAGENAME*/ios/icon/icon-60@2x.png" width="120" height="120" />
<icon src="resources/*PACKAGENAME*/ios/icon/icon-76.png" width="76" height="76" />
<icon src="resources/*PACKAGENAME*/ios/icon/icon-76@2x.png" width="152" height="152" />
<icon src="resources/*PACKAGENAME*/ios/icon/icon-83.5@2x.png" width="167" height="167" />
<icon src="resources/*PACKAGENAME*/ios/icon/icon-40.png" width="40" height="40" />
<icon src="resources/*PACKAGENAME*/ios/icon/icon-40@2x.png" width="80" height="80" />
<icon src="resources/*PACKAGENAME*/ios/icon/icon.png" width="57" height="57" />
<icon src="resources/*PACKAGENAME*/ios/icon/icon@2x.png" width="114" height="114" />
<icon src="resources/*PACKAGENAME*/ios/icon/icon-72.png" width="72" height="72" />
<icon src="resources/*PACKAGENAME*/ios/icon/icon-72@2x.png" width="144" height="144" />
<icon src="resources/*PACKAGENAME*/ios/icon/icon-small.png" width="29" height="29" />
<icon src="resources/*PACKAGENAME*/ios/icon/icon-small@2x.png" width="58" height="58" />
<icon src="resources/*PACKAGENAME*/ios/icon/icon-small@3x.png" width="87" height="87" />
<icon src="resources/*PACKAGENAME*/ios/icon/icon-50.png" width="50" height="50" />
<icon src="resources/*PACKAGENAME*/ios/icon/icon-50@2x.png" width="100" height="100" />
<splash src="resources/*PACKAGENAME*/ios/splash/Default~iphone.png" width="320" height="480"/>
<splash src="resources/*PACKAGENAME*/ios/splash/Default@2x~iphone.png" width="640" height="960"/>
<splash src="resources/*PACKAGENAME*/ios/splash/Default-Portrait~ipad.png" width="768" height="1024"/>
<splash src="resources/*PACKAGENAME*/ios/splash/Default-Portrait@2x~ipad.png" width="1536" height="2048"/>
<splash src="resources/*PACKAGENAME*/ios/splash/Default-Landscape~ipad.png" width="1024" height="768"/>
<splash src="resources/*PACKAGENAME*/ios/splash/Default-Landscape@2x~ipad.png" width="2048" height="1536"/>
<splash src="resources/*PACKAGENAME*/ios/splash/Default-568h@2x~iphone.png" width="640" height="1136"/>
<splash src="resources/*PACKAGENAME*/ios/splash/Default-667h.png" width="750" height="1334"/>
<splash src="resources/*PACKAGENAME*/ios/splash/Default-736h.png" width="1242" height="2208"/>
<splash src="resources/*PACKAGENAME*/ios/splash/Default-Landscape-736h.png" width="2208" height="1242"/>
<allow-navigation href="*" />
</platform>
<platform name="android">
<preference name="android-manifest/application/@android:allowBackup" value="false" />
<icon src="resources/*PACKAGENAME*/android/icon/drawable-ldpi-icon.png" density="ldpi" />
<icon src="resources/*PACKAGENAME*/android/icon/drawable-mdpi-icon.png" density="mdpi" />
<icon src="resources/*PACKAGENAME*/android/icon/drawable-hdpi-icon.png" density="hdpi" />
<icon src="resources/*PACKAGENAME*/android/icon/drawable-xhdpi-icon.png" density="xhdpi" />
<icon src="resources/*PACKAGENAME*/android/icon/drawable-xxhdpi-icon.png" density="xxhdpi" />
<icon src="resources/*PACKAGENAME*/android/icon/drawable-xxxhdpi-icon.png" density="xxxhdpi" />
<splash src="resources/*PACKAGENAME*/android/splash/drawable-land-hdpi-screen.png" density="land-hdpi"/>
<splash src="resources/*PACKAGENAME*/android/splash/drawable-land-ldpi-screen.png" density="land-ldpi"/>
<splash src="resources/*PACKAGENAME*/android/splash/drawable-land-mdpi-screen.png" density="land-mdpi"/>
<splash src="resources/*PACKAGENAME*/android/splash/drawable-land-xhdpi-screen.png" density="land-xhdpi"/>
<splash src="resources/*PACKAGENAME*/android/splash/drawable-land-xxhdpi-screen.png" density="land-xxhdpi"/>
<splash src="resources/*PACKAGENAME*/android/splash/drawable-land-xxxhdpi-screen.png" density="land-xxxhdpi"/>
<splash src="resources/*PACKAGENAME*/android/splash/drawable-port-hdpi-screen.png" density="port-hdpi"/>
<splash src="resources/*PACKAGENAME*/android/splash/drawable-port-ldpi-screen.png" density="port-ldpi"/>
<splash src="resources/*PACKAGENAME*/android/splash/drawable-port-mdpi-screen.png" density="port-mdpi"/>
<splash src="resources/*PACKAGENAME*/android/splash/drawable-port-xhdpi-screen.png" density="port-xhdpi"/>
<splash src="resources/*PACKAGENAME*/android/splash/drawable-port-xxhdpi-screen.png" density="port-xxhdpi"/>
<splash src="resources/*PACKAGENAME*/android/splash/drawable-port-xxxhdpi-screen.png" density="port-xxxhdpi"/>
</platform>
<platform name="windows">
<icon src="resources/*PACKAGENAME*/windows/icon/StoreLogo.png" target="StoreLogo" />
<icon src="resources/*PACKAGENAME*/windows/icon/Square30x30Logo.png" target="Square30x30Logo" />
<icon src="resources/*PACKAGENAME*/windows/icon/Square44x44Logo.png" target="Square44x44Logo" />
<icon src="resources/*PACKAGENAME*/windows/icon/Square70x70Logo.png" target="Square70x70Logo" />
<icon src="resources/*PACKAGENAME*/windows/icon/Square71x71Logo.png" target="Square71x71Logo" />
<icon src="resources/*PACKAGENAME*/windows/icon/Square150x150Logo.png" target="Square150x150Logo" />
<icon src="resources/*PACKAGENAME*/windows/icon/Square310x310Logo.png" target="Square310x310Logo" />
<icon src="resources/*PACKAGENAME*/windows/icon/Wide310x150Logo.png" target="Wide310x150Logo" />
<splash src="resources/*PACKAGENAME*/windows/splash/SplashScreen.scale-100.png" width="620" height="300"/>
<splash src="resources/*PACKAGENAME*/windows/splash/SplashScreenPhone.scale-240.png" width="1152" height="1920"/>
</platform>
</widget>

View File

@ -1,40 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>AD_UNIT_ID_FOR_BANNER_TEST</key>
<string>ca-app-pub-3940256099942544/2934735716</string>
<key>AD_UNIT_ID_FOR_INTERSTITIAL_TEST</key>
<string>ca-app-pub-3940256099942544/4411468910</string>
<key>CLIENT_ID</key>
<string>149194066736-tukkdahsck00842frm4l7c2r04bhhj4l.apps.googleusercontent.com</string>
<key>REVERSED_CLIENT_ID</key>
<string>com.googleusercontent.apps.149194066736-tukkdahsck00842frm4l7c2r04bhhj4l</string>
<key>API_KEY</key>
<string>AIzaSyAygvOaO5hmkL2Vze66yVAGU2QhcoTyZFA</string>
<key>GCM_SENDER_ID</key>
<string>149194066736</string>
<key>PLIST_VERSION</key>
<string>1</string>
<key>BUNDLE_ID</key>
<string>com.bitpay.copay</string>
<key>PROJECT_ID</key>
<string>bitpay-wallet</string>
<key>STORAGE_BUCKET</key>
<string>bitpay-wallet.appspot.com</string>
<key>IS_ADS_ENABLED</key>
<true/>
<key>IS_ANALYTICS_ENABLED</key>
<false/>
<key>IS_APPINVITE_ENABLED</key>
<true/>
<key>IS_GCM_ENABLED</key>
<true/>
<key>IS_SIGNIN_ENABLED</key>
<true/>
<key>GOOGLE_APP_ID</key>
<string>1:149194066736:ios:6de8942b48fea047</string>
<key>DATABASE_URL</key>
<string>https://bitpay-wallet.firebaseio.com</string>
</dict>
</plist>

View File

@ -1,34 +0,0 @@
{
"packageName": "copay",
"packageDescription": "Copay Bitcoin Wallet",
"packageNameId": "com.bitpay.copay",
"statusBarColor": "#192c3a",
"userVisibleName": "Copay",
"purposeLine": "Copay Bitcoin Wallet",
"bundleName": "copay",
"appUri": "copay",
"name": "copay",
"nameNoSpace": "copay",
"nameCase": "Copay",
"nameCaseNoSpace": "Copay",
"gitHubRepoName": "copay",
"gitHubRepoUrl": "git://github.com/bitpay/copay.git",
"gitHubRepoBugs": "https://github.com/bitpay/copay/issues",
"disclaimerUrl": "https://copay.io/disclaimer",
"url": "https://copay.io",
"appDescription": "Copay Bitcoin Wallet",
"winAppName": "CopayWallet",
"WindowsStoreIdentityName": "18C7659D.Copay-SecureBitcoinWallet",
"WindowsStoreDisplayName": "Copay - Secure Bitcoin Wallet",
"windowsAppId": "804636ee-b017-4cad-8719-e58ac97ffa5c",
"pushSenderId": "1036948132229",
"description": "A Secure Bitcoin Wallet",
"version": "3.7.0",
"androidVersion": "370000",
"_extraCSS": null,
"_enabledExtensions": {
"coinbase": true,
"glidera": true,
"amazon": true
}
}

View File

@ -1,42 +0,0 @@
{
"project_info": {
"project_number": "149194066736",
"firebase_url": "https://bitpay-wallet.firebaseio.com",
"project_id": "bitpay-wallet",
"storage_bucket": "bitpay-wallet.appspot.com"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:149194066736:android:6de8942b48fea047",
"android_client_info": {
"package_name": "com.bitpay.copay"
}
},
"oauth_client": [
{
"client_id": "149194066736-1gf0d9nk288dke5jdiuj8unkplhl8nco.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AIzaSyCZ8nyjRBe-0Lyur0LjO-SOkjv32uNQKy0"
}
],
"services": {
"analytics_service": {
"status": 1
},
"appinvite_service": {
"status": 1,
"other_platform_oauth_client": []
},
"ads_service": {
"status": 2
}
}
}
],
"configuration_version": "1"
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 537 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 808 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

View File

@ -1,29 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="247px" height="247px" viewBox="0 0 247 247" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 42 (36781) - http://www.bohemiancoding.com/sketch -->
<title>backup-warning</title>
<desc>Created with Sketch.</desc>
<defs>
<linearGradient x1="50%" y1="0%" x2="50%" y2="89.4673583%" id="linearGradient-1">
<stop stop-color="#192C3A" offset="0%"></stop>
<stop stop-color="#192C3A" offset="100%"></stop>
</linearGradient>
<linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="linearGradient-2">
<stop stop-color="#BCBCBC" offset="0%"></stop>
<stop stop-color="#707D89" offset="100%"></stop>
</linearGradient>
</defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="backup-warning" fill-rule="nonzero">
<g id="Onboarding">
<g id="0.5.a.1--Backup-Warning">
<g id="being-watched">
<path d="M123.5,247 C191.707167,247 247,191.707167 247,123.5 C247,55.2928334 191.707167,1.42108547e-14 123.5,1.42108547e-14 C55.2928334,1.42108547e-14 1.42108547e-14,55.2928334 1.42108547e-14,123.5 C1.42108547e-14,191.707167 55.2928334,247 123.5,247 Z" id="Oval-2" fill="url(#linearGradient-1)" opacity="0.300000012"></path>
<path d="M157.693521,46.9114761 C157.371158,45.8451979 156.16141,44.9808396 155.003028,45.000323 L114.123129,53.1444209 L91.810993,45.2164126 C90.6490687,45.2358961 89.43755,46.1020257 89.1151868,47.1700751 L74.3927551,96.5571737 L172.607245,96.5571737 L157.693521,46.9114761 L157.693521,46.9114761 Z M123.5,107.871766 C94.152554,107.871766 67.1927208,114.280062 46,124.997752 L201,124.997752 C179.786024,114.280062 152.847446,107.871766 123.5,107.871766 L123.5,107.871766 Z" id="Shape" fill="url(#linearGradient-2)"></path>
<path d="M155.018969,132.110996 C143.095075,132.110996 133.220489,140.938787 131.51657,152.396849 C126.220603,151.222526 120.738658,151.215441 115.440921,152.370281 C113.613016,141.055688 103.805736,132.37668 91.982802,132.37668 C78.8651011,132.37668 68.1916924,143.050089 68.1916924,156.16779 C68.1916924,169.28549 78.8633299,179.958899 91.982802,179.958899 C103.956291,179.958899 113.86453,171.058488 115.508228,159.531348 C120.765227,158.119681 126.298537,158.140936 131.54668,159.596883 C133.330305,170.962842 143.162381,179.693215 155.02074,179.693215 C168.138441,179.693215 178.81185,169.021578 178.81185,155.902106 C178.808308,142.784405 168.13667,132.110996 155.018969,132.110996 Z M91.9810307,173.570086 C82.3685864,173.570086 74.5769626,165.778463 74.5769626,156.166018 C74.5769626,146.553574 82.3685864,138.76195 91.9810307,138.76195 C101.593475,138.76195 109.385099,146.553574 109.385099,156.166018 C109.385099,165.778463 101.593475,173.570086 91.9810307,173.570086 Z M155.018969,173.306174 C145.406525,173.306174 137.614901,165.51455 137.614901,155.902106 C137.614901,146.289661 145.406525,138.498038 155.018969,138.498038 C164.631414,138.498038 172.423037,146.289661 172.423037,155.902106 C172.421266,165.51455 164.629642,173.306174 155.018969,173.306174 Z" id="Combined-Shape" fill="#707D89" opacity="0.400000006"></path>
</g>
</g>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

View File

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="51px" height="51px" viewBox="0 0 51 51" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 42 (36781) - http://www.bohemiancoding.com/sketch -->
<title>icon-bitcoin</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="icon-bitcoin" fill-rule="nonzero">
<path d="M25.5,51 C39.6,51 51,39.6 51,25.5 C51,11.4 39.5,0 25.5,0 C11.5,0 0,11.4 0,25.5 C0,39.6 11.4,51 25.5,51 Z" id="coin" fill="#FF9900"></path>
<path d="M33.5,19.1 C32.9,16.1 30.2,15.3 27,15.2 L26.5,11 L24,11.2 L24.5,15.4 C23.8,15.5 23.2,15.5 22.5,15.6 L22,11.4 L19.5,11.6 L20,15.9 C19.5,15.9 18.9,16 18.4,16.1 L18.4,16.1 L15,16.4 L15.3,19.2 C15.3,19.2 17.1,19 17.1,19.1 C18.1,19 18.5,19.6 18.6,20.1 L19.1,25 L19.4,25 L19.1,25 L19.9,31.8 C19.9,32.1 19.7,32.7 19.1,32.7 L17.3,32.9 L17.2,36 L20.4,35.7 C21,35.7 21.6,35.6 22.2,35.6 L22.7,39.9 L25.2,39.7 L24.7,35.4 C25.4,35.4 26.1,35.3 26.7,35.3 L27.2,39.5 L29.7,39.3 L29.2,35 C33.4,34.4 36.2,33 36.1,28.9 C36,25.6 34.4,24.2 31.9,23.8 C33.2,22.8 34,21.4 33.5,19.1 L33.5,19.1 Z M31,28.7 C31.4,31.9 26,32 24.3,32.2 L23.7,26.5 C25.5,26.3 30.7,25.3 31,28.7 L31,28.7 Z M23.5,23.8 L23,18.6 C24.4,18.5 28.8,17.6 29.1,20.7 C29.3,23.6 24.9,23.7 23.5,23.8 Z" id="BitPay-Bitcoin_Symbol" fill="#FFFFFF"></path>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 270 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

View File

@ -1,50 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Capa_1" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="-222 391.9 150 65.9"
enable-background="new -222 391.9 150 65.9" xml:space="preserve">
<title>download 3</title>
<desc>Created with Sketch.</desc>
<g id="Login" sketch:type="MSPage">
<g id="Tour-1" transform="translate(-244.000000, -476.000000)" sketch:type="MSArtboardGroup">
<g id="download-3" transform="translate(244.000000, 476.000000)" sketch:type="MSLayerGroup">
<path id="Shape_4_" sketch:type="MSShapeGroup" fill="#2C3E50" d="M-75.1,399.7c-1.1,0.1-2.2,0.4-3.4,0.7c-0.4,0.1-0.7,0.4-1,0.7
c-0.3,0.3-0.6,0.6-0.8,0.8c-0.2,0.2-0.4,0.6-0.6,1.2c-0.2,0.6-0.4,1-0.5,1.3c-0.1,0.3-0.3,0.9-0.5,1.7c-0.2,0.8-0.4,1.5-0.5,1.9
c-0.9,3.2-2.4,6.4-4.5,9.7c-2,3.3-3.8,5-5.3,5.2c-0.8,0.1-1.3-0.6-1.4-2c-0.3-2.7,0.3-6.1,1.6-10.2c1.4-4.1,2.8-7,4.4-8.7
c0.2-0.3,0.3-0.5,0.3-0.7c0-0.2-0.1-0.2-0.3-0.2c-2.2,0.2-4,0.7-5.2,1.4c-1.2,0.7-2.3,2-3.4,4.1c-0.8,1.6-1.4,3.5-2,5.9
c-2.8,6.8-5.4,10.3-7.7,10.6c-0.8,0.1-1.2-0.4-1.3-1.5c-0.2-2.1,0.4-5.6,2-10.4c1.5-4.8,2.9-7.9,4.2-9.1l-0.6,0.1l-3.2,0.3
c-0.8,0.1-1.7,0.5-2.6,1.4c-0.9,0.8-1.5,1.7-1.9,2.8c-0.5-1.3-1.4-2.2-2.7-2.7c-1.3-0.5-2.6-0.7-3.9-0.5c-2.9,0.3-5.4,1.7-7.6,4
c-2.2,2.4-3.8,5.2-4.7,8.3c0,0.1,0,0.1-0.1,0.2c-0.1,0.3-0.3,0.7-0.5,1.1c-1.1,2.4-1.9,4-2.5,5c-1.1,1.8-2.5,3.5-4.2,5.1
s-3.3,2.5-5.1,2.7l-0.5,0.1c2.6-2.2,4.7-5,6.3-8.6c1.7-3.6,2.3-7,2-10.2c-0.4-3.9-2-5.6-4.9-5.3c-3,0.3-6.2,3.3-9.6,8.9
c1.7-4.4,3.1-7.1,4.2-8.1l-1.9,0.2c-2.5,0.3-4.2,1-5.1,2.1c-0.4,0.6-1.1,2.3-1.9,5c-0.3,1-0.7,2.4-1.2,4.3
c-1.5,3.4-3.3,5.2-5.3,5.5c-1.2,0.1-2.1-0.2-2.9-1c0.6-2.3,0.9-4.5,0.6-6.5c-0.6-5.3-3.4-7.7-8.4-7.1c-3,0.3-5.6,1.6-7.8,3.9
c-1.3,1.4-2.4,2.9-3.3,4.5c0,0,0,0,0-0.1c-2,3.8-5.6,10.4-10,14.2c-4.4,3.8-8.8,5.9-13.1,6.4c-6.9,0.7-10.7-2.6-11.5-10.1
c-0.5-4.8,0.2-9.7,2.2-14.7c2-5,4.9-9.1,8.7-12.5c3.8-3.4,7.8-5.3,12.2-5.8c3.3-0.4,5,0.7,5.3,3.1c0.2,1.6-0.4,3-1.7,4.3
c-1.3,1.3-2.7,2-4.4,2.2c-0.6,0.1-1.1,0-1.6-0.1c-0.4,0.8-0.6,1.5-0.5,2.1c0.1,0.6,0.4,1.1,1.1,1.5c0.6,0.3,1.4,0.5,2.4,0.4
c2-0.2,3.8-1,5.6-2.4s2.8-2.9,3.3-4.8c0.2-1,0.3-1.8,0.2-2.6c-0.2-2.1-1.4-3.6-3.7-4.7s-5.3-1.4-9.2-1c-3.9,0.4-7.7,1.9-11.5,4.4
c-3.8,2.5-6.8,5.6-9.1,9.1c-2.3,3.5-4,7.3-5.2,11.3c-1.2,4-1.5,7.7-1.2,11.2c1,9.2,6.5,13.3,16.4,12.2c4.3-0.5,8.4-1.7,12.3-3.8
c3.9-2.1,7.1-4.7,9.5-7.8c0.4-0.5,0.7-1,1.1-1.4c0,0.4,0,0.7,0.1,1.1c0.3,2.6,1.2,4.5,2.6,5.6c1.5,1.1,3.3,1.6,5.4,1.4
c3.3-0.4,5.9-1.5,7.8-3.4c1.9-1.9,3.5-4.5,4.7-7.6c1.1,0.7,2.4,1,3.8,0.8c1.2-0.1,2.5-0.8,3.7-1.9c-0.6,2.5-1.3,5.5-2.1,8.8
c-2.3,9.8-3.9,15.5-4.9,17.3l3-0.3c0.8-0.1,1.5-0.3,2.1-0.5c0.5-0.3,1-0.8,1.3-1.6c0.4-0.8,0.8-2.5,1.4-5l2.4-11.4
c0.7,2,3.1,2.8,7.2,2.4c4.1-0.4,7.4-2.1,10.1-5c1.7-1.8,3.2-3.9,4.6-6.5c0,1,0,2,0.1,3c0.4,3.9,2,5.6,4.9,5.3
c4.1-0.4,8.1-5.2,12-14.2c-0.6,2.6-0.8,5.2-0.5,7.8c0.4,3.5,1.7,5.1,4,4.9c2.9-0.3,6.1-3.7,9.6-10.3c-0.2,1.6-0.2,2.9-0.1,3.9
c0.2,1.8,0.6,3,1.4,3.9c0.8,0.8,1.7,1.2,2.8,1.1s2.1-0.4,2.9-0.7c0.8-0.3,1.9-1.2,3.2-2.6c1.3-1.4,2.8-3.4,4.6-6.1l-2.6,10
c-1.7,6.3-4.2,9.7-7.6,10.1c-0.9,0.1-1.6-0.1-2.3-0.5c-0.6-0.4-1-1-1.1-1.8c-0.2-1.5,0.1-2.4,0.9-2.8c-0.3-0.4-0.7-0.7-1.2-1
s-1.2-0.4-1.9-0.3c-0.7,0.1-1.4,0.5-1.8,1.3c-0.5,0.8-0.7,1.7-0.6,2.6c0.2,1.8,1.1,3,2.7,3.6c1.6,0.7,3.4,0.9,5.6,0.6
c2.1-0.2,4.2-1,6.1-2.2c2-1.3,3.5-2.8,4.8-4.7c1.2-1.9,2.2-4.3,2.9-7.4c0.3-1,0.6-2.4,1-4.3c0.4-1.9,0.7-3,0.8-3.5
c0.1-0.5,0.4-1.8,1-4.1c0.5-2.3,1.2-4.7,2-7.5c1-3.3,2.1-5.4,3.4-6.4L-75.1,399.7L-75.1,399.7z M-164.2,414.5
c-1.1,0.1-1.9,0.5-2.4,1.3c-0.5,0.7-0.8,1.7-0.6,2.8c0.2,1.9,1.1,3.3,2.7,4.4c-0.8,2.4-1.9,4.7-3.2,6.8c-1.3,2.1-2.9,3.2-4.7,3.4
c-2.2,0.1-3.5-1.1-3.7-3.6c-0.3-2.5,0.2-5.4,1.4-8.7c2.2-5.9,4.7-9,7.7-9.4c1.9-0.2,3,0.8,3.4,3L-164.2,414.5L-164.2,414.5z
M-148,430.7c-1.2,0.1-1.9-0.8-2.2-2.8s0.5-4.6,2.1-7.9c1.6-3.3,3.2-5.7,4.8-7.3c1-1,1.9-1.5,2.8-1.6c0.3,0,0.4,0,0.6,0
c0.7,0.1,1,0.7,1.2,1.7c0.3,2.4-0.7,6-2.8,10.6C-143.7,428.1-145.8,430.5-148,430.7L-148,430.7z M-114.3,416.7
c-1,2-2.1,3.7-3.5,5.2c-1.3,1.5-2.6,2.4-3.7,2.5c-1,0.1-1.6-0.5-1.7-1.8c-0.3-3,0.6-6.6,2.8-10.7c2.2-4.1,4.7-6.3,7.5-6.6
c1.6-0.2,2.6,0.4,3.2,1.7C-110.6,409.1-112.2,412.3-114.3,416.7L-114.3,416.7z"/>
<path id="Shape_5_" sketch:type="MSShapeGroup" fill="#2C3E50" d="M-161.8,439.1c-14.4,2.5-28.3,5.9-38,9.9
c-4.1,1.7-5.1,5-3.8,8.1c16.6-7.5,24.8-9.7,36.9-12.7c2.1-0.5,3.9-2.1,4.6-4.2C-162,439.9-161.9,439.5-161.8,439.1L-161.8,439.1z
"/>
<path id="Shape_6_" sketch:type="MSShapeGroup" fill="#2C3E50" d="M-107.8,437.5c0.4-1.8-0.1-1.9-1.9-2.1
c-10.1-1.5-21.1-1.4-34.4,1.5c-2.2,0.5-4.1,2-4.4,4.3C-148.6,441.2-131.9,435.7-107.8,437.5L-107.8,437.5L-107.8,437.5z"/>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 4.9 KiB

View File

@ -1,46 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="247px" height="248px" viewBox="0 0 247 248" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 42 (36781) - http://www.bohemiancoding.com/sketch -->
<title>push-notifications</title>
<desc>Created with Sketch.</desc>
<defs>
<linearGradient x1="50%" y1="0%" x2="50%" y2="89.4673583%" id="linearGradient-1">
<stop stop-color="#192C3A" offset="0%"></stop>
<stop stop-color="#192C3A" offset="100%"></stop>
</linearGradient>
<rect id="path-2" x="0" y="0" width="122" height="34"></rect>
</defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="push-notifications" transform="translate(0.000000, 1.000000)">
<g id="Onboarding">
<g id="0.4---Allow-Push-Notifications">
<g id="Group-7">
<path d="M123.5,247 C191.707167,247 247,191.707167 247,123.5 C247,55.2928334 191.707167,1.42108547e-14 123.5,1.42108547e-14 C55.2928334,1.42108547e-14 1.42108547e-14,55.2928334 1.42108547e-14,123.5 C1.42108547e-14,191.707167 55.2928334,247 123.5,247 Z" id="Oval-2" fill="url(#linearGradient-1)" fill-rule="nonzero" opacity="0.300000012"></path>
<g id="Phone" transform="translate(62.000000, 0.000000)" stroke="#707D89" stroke-width="2">
<rect id="Combined-Shape" fill-opacity="0.65" fill="#192C3A" fill-rule="nonzero" x="0" y="0" width="122.16932" height="220.464844" rx="8"></rect>
<path d="M0.636298539,187 L121.533021,187" id="Line" stroke-linecap="square"></path>
<path d="M50.2675846,203 L73.174332,203" id="Line" stroke-linecap="square"></path>
</g>
<ellipse id="Oval-2" stroke="#707D89" stroke-width="2" fill-opacity="0.41907269" fill="#192C3A" fill-rule="nonzero" opacity="0.945615695" cx="169" cy="57.4884375" rx="47" ry="44.4884375"></ellipse>
<g id="Group-3" transform="translate(62.000000, 33.000000)">
<path d="M12.7105489,19.5 L50.4911698,19.5" id="Line" stroke="#12E5B6" stroke-width="3" stroke-linecap="square"></path>
<path d="M21.96,10.4166666 L43.0026407,10.4166666" id="Line" stroke="#12E5B6" stroke-width="3" stroke-linecap="square"></path>
<g id="Rectangle-3">
<g id="path-2-Clipped">
<mask id="mask-3" fill="white">
<use xlink:href="#path-2"></use>
</mask>
<g id="path-2"></g>
<rect id="path-2" stroke="#707D89" stroke-width="2" mask="url(#mask-3)" x="0" y="0" width="122" height="34"></rect>
</g>
</g>
</g>
<g id="android-notifications-none" opacity="0.900000036" transform="translate(144.642407, 28.000000)" fill-rule="nonzero" fill="#FFFFFF">
<path d="M24.5218837,9.5815024 C25.5031747,9.5815024 27.8345547,10.1736779 27.8345547,10.1736779 C34.1505329,11.5548918 38.5961981,17.1067187 38.5961981,23.375 L38.5961981,38.5 L38.5961981,40.2467788 L39.8875454,41.4848077 L40.9665083,42.5190986 L7.80017568,42.5190986 L8.87913857,41.4848077 L10.1704859,40.2467788 L10.1704859,38.5 L10.1704859,23.375 C10.1704859,17.106851 14.616151,11.5548918 20.9321293,10.1736779 C20.9321293,10.1736779 23.4318375,9.5815024 24.2448003,9.5815024 L24.5218837,9.5815024 Z M24.383342,0 C21.9447307,0 20.0803748,1.78723558 20.0803748,4.125 L20.0803748,6.04986779 C11.9043355,7.83776442 5.73715099,14.9875 5.73715099,23.375 L5.73715099,38.5 L-6.82121026e-13,44 L-6.82121026e-13,46.75 L48.766684,46.75 L48.766684,44 L43.029533,38.5 L43.029533,23.375 C43.029533,14.9875 36.8622099,7.83776442 28.6863091,6.04986779 L28.6863091,4.125 C28.6863091,1.78723558 26.8219533,0 24.383342,0 L24.383342,0 L24.383342,0 Z M30.120493,49.5 L18.6460524,49.5 C18.6460524,52.5251322 21.2275002,55 24.383342,55 C27.5391837,55 30.120493,52.5251322 30.120493,49.5 L30.120493,49.5 L30.120493,49.5 Z" id="Shape"></path>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 4.4 KiB

View File

@ -1,47 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="247px" height="247px" viewBox="0 0 247 247" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 42 (36781) - http://www.bohemiancoding.com/sketch -->
<title>tour-control</title>
<desc>Created with Sketch.</desc>
<defs>
<linearGradient x1="50%" y1="0%" x2="50%" y2="89.4673583%" id="linearGradient-1">
<stop stop-color="#192C3A" offset="0%"></stop>
<stop stop-color="#192C3A" offset="100%"></stop>
</linearGradient>
</defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="tour-control">
<g id="Onboarding">
<g id="0.2.3---Tour-3">
<g id="bg-3">
<path d="M123.5,247 C191.707167,247 247,191.707167 247,123.5 C247,55.2928334 191.707167,1.42108547e-14 123.5,1.42108547e-14 C55.2928334,1.42108547e-14 1.42108547e-14,55.2928334 1.42108547e-14,123.5 C1.42108547e-14,191.707167 55.2928334,247 123.5,247 Z" id="Oval-2" fill="url(#linearGradient-1)" fill-rule="nonzero" opacity="0.300000012"></path>
<rect id="Combined-Shape" stroke="#707D89" stroke-width="2" fill-opacity="0.65" fill="#192C3A" fill-rule="nonzero" x="63" y="24" width="99.8310062" height="183.875349" rx="8"></rect>
<path d="M63.5199532,180.634556 L162.311053,180.634556" id="Line" stroke="#707D89" stroke-width="2" stroke-linecap="square"></path>
<path d="M104.076299,194.254952 L122.794613,194.254952" id="Line" stroke="#707D89" stroke-width="2" stroke-linecap="square"></path>
<g id="Group-4" transform="translate(98.000000, 79.000000)" stroke="#FFFFFF">
<g id="top-up">
<g id="shopping-48px-outline_bitcoin" transform="translate(0.666667, 0.180606)">
<g id="Group" transform="translate(0.619048, 0.627502)">
<path d="M12.3809524,0 L12.3809524,7.5300202" id="Shape"></path>
<path d="M17.3333333,0 L17.3333333,7.5300202" id="Shape"></path>
<path d="M12.3809524,47.6901279 L12.3809524,55.2201481" id="Shape"></path>
<path d="M17.3333333,47.6901279 L17.3333333,55.2201481" id="Shape"></path>
<path d="M0,47.6901279 L7.42857143,47.6901279" id="Shape-Copy"></path>
<path d="M0,7.5300202 L7.42857143,7.5300202" id="Shape-Copy-2"></path>
<path d="M7.42857143,25.1000673 L7.42857143,7.5300202 L21.8042328,7.5300202 C26.9010582,7.5300202 30.952381,11.4205306 30.952381,16.3150438 C30.952381,21.2095569 26.9010582,25.1000673 21.8042328,25.1000673" id="Shape"></path>
<path d="M7.42857143,47.6901279 L7.42857143,25.1000673 L23.6785714,25.1000673 C29.0952381,25.1000673 33.4285714,30.1200808 33.4285714,36.3950976 C33.4285714,42.6701145 29.0952381,47.6901279 23.6785714,47.6901279 L7.42857143,47.6901279 Z" id="Shape"></path>
</g>
</g>
</g>
</g>
<g id="Group-3" transform="translate(125.000000, 122.000000)" stroke="#12E5B6" stroke-width="2">
<rect id="Rectangle-path" fill="#192C3A" fill-rule="nonzero" x="0.00547760651" y="37.6483369" width="74.7600358" height="65.7214967" rx="4"></rect>
<path d="M18.6954866,37.6483369 L18.6954866,18.8707664 C18.6954866,8.54310266 27.1059906,0.0931959432 37.3854955,0.0931959432 L37.3854955,0.0931959432 C47.6650004,0.0931959432 56.0755044,8.54310266 56.0755044,18.8707664 L56.0755044,37.6483369" id="Shape"></path>
<path d="M36.6300769,65.8146926 L36.6300769,75.2034779" id="Shape" fill="#F9F9F9" fill-rule="nonzero"></path>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 4.2 KiB

View File

@ -1,33 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="377px" height="247px" viewBox="0 0 377 247" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 42 (36781) - http://www.bohemiancoding.com/sketch -->
<title>tour-currency</title>
<desc>Created with Sketch.</desc>
<defs>
<linearGradient x1="50.0034413%" y1="0.00943319838%" x2="50.0034413%" y2="89.4694332%" id="linearGradient-1">
<stop stop-color="#192C3A" offset="0%"></stop>
<stop stop-color="#192C3A" offset="100%"></stop>
</linearGradient>
<linearGradient x1="50%" y1="100.020333%" x2="50%" y2="0.0203333333%" id="linearGradient-2">
<stop stop-color="#192C3A" offset="0%"></stop>
<stop stop-color="#192C3A" offset="100%"></stop>
</linearGradient>
</defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="tour-currency" transform="translate(-1.000000, 0.000000)">
<path d="M189.5,247 C257.7,247 313,191.7 313,123.5 C313,55.3 257.7,0 189.5,0 C121.3,0 66,55.3 66,123.5 C66,191.7 121.3,247 189.5,247 Z" id="Shape" fill="url(#linearGradient-1)" fill-rule="nonzero" opacity="0.3"></path>
<polygon id="Shape" fill="url(#linearGradient-2)" fill-rule="nonzero" opacity="0.3" points="56.3 127.3 99.7 97.8 142.1 119.9 186.6 80.7 224.9 80.7 249.7 47.5 282.8 67.2 323.2 56.1 377 35 377 185 152.1 185 2.4 185 2 133.5"></polygon>
<g id="Group" opacity="0.3" transform="translate(76.000000, 61.000000)" fill-rule="nonzero" fill="#13E5B6">
<path d="M226.2,124 L225.7,124 L225.7,120 L226.2,120 L226.2,124 Z M226.2,116 L225.7,116 L225.7,112 L226.2,112 L226.2,116 Z M226.2,108 L225.7,108 L225.7,104 L226.2,104 L226.2,108 Z M226.2,100 L225.7,100 L225.7,96 L226.2,96 L226.2,100 Z M226.2,92 L225.7,92 L225.7,88 L226.2,88 L226.2,92 Z M226.2,84 L225.7,84 L225.7,80 L226.2,80 L226.2,84 Z M226.2,76 L225.7,76 L225.7,72 L226.2,72 L226.2,76 Z M226.2,68 L225.7,68 L225.7,64 L226.2,64 L226.2,68 Z M226.2,60 L225.7,60 L225.7,56 L226.2,56 L226.2,60 Z M226.2,52 L225.7,52 L225.7,48 L226.2,48 L226.2,52 Z M226.2,44 L225.7,44 L225.7,40 L226.2,40 L226.2,44 Z M226.2,36 L225.7,36 L225.7,32 L226.2,32 L226.2,36 Z M226.2,28 L225.7,28 L225.7,24 L226.2,24 L226.2,28 Z M226.2,20 L225.7,20 L225.7,16 L226.2,16 L226.2,20 Z M226.2,12 L225.7,12 L225.7,8 L226.2,8 L226.2,12 Z M226.2,4 L225.7,4 L225.7,0 L226.2,0 L226.2,4 Z" id="Shape"></path>
<path d="M151.2,124 L150.7,124 L150.7,120 L151.2,120 L151.2,124 Z M151.2,116 L150.7,116 L150.7,112 L151.2,112 L151.2,116 Z M151.2,108 L150.7,108 L150.7,104 L151.2,104 L151.2,108 Z M151.2,100 L150.7,100 L150.7,96 L151.2,96 L151.2,100 Z M151.2,92 L150.7,92 L150.7,88 L151.2,88 L151.2,92 Z M151.2,84 L150.7,84 L150.7,80 L151.2,80 L151.2,84 Z M151.2,76 L150.7,76 L150.7,72 L151.2,72 L151.2,76 Z M151.2,68 L150.7,68 L150.7,64 L151.2,64 L151.2,68 Z M151.2,60 L150.7,60 L150.7,56 L151.2,56 L151.2,60 Z M151.2,52 L150.7,52 L150.7,48 L151.2,48 L151.2,52 Z M151.2,44 L150.7,44 L150.7,40 L151.2,40 L151.2,44 Z M151.2,36 L150.7,36 L150.7,32 L151.2,32 L151.2,36 Z M151.2,28 L150.7,28 L150.7,24 L151.2,24 L151.2,28 Z M151.2,20 L150.7,20 L150.7,16.8 L151.2,16.8 L151.2,20 Z" id="Shape"></path>
<path d="M76.2,124 L75.7,124 L75.7,120 L76.2,120 L76.2,124 Z M76.2,116 L75.7,116 L75.7,112 L76.2,112 L76.2,116 Z M76.2,108 L75.7,108 L75.7,104 L76.2,104 L76.2,108 Z M76.2,100 L75.7,100 L75.7,96 L76.2,96 L76.2,100 Z M76.2,92 L75.7,92 L75.7,88 L76.2,88 L76.2,92 Z M76.2,84 L75.7,84 L75.7,80 L76.2,80 L76.2,84 Z M76.2,76 L75.7,76 L75.7,72 L76.2,72 L76.2,76 Z M76.2,68 L75.7,68 L75.7,64 L76.2,64 L76.2,68 Z M76.2,60 L75.7,60 L75.7,56 L76.2,56 L76.2,60 Z M76.2,52 L75.7,52 L75.7,50 L76.2,50 L76.2,52 Z" id="Shape"></path>
<path d="M1.2,124 L0.7,124 L0.7,120 L1.2,120 L1.2,124 Z M1.2,116 L0.7,116 L0.7,112 L1.2,112 L1.2,116 Z M1.2,108 L0.7,108 L0.7,104 L1.2,104 L1.2,108 Z M1.2,100 L0.7,100 L0.7,96 L1.2,96 L1.2,100 Z M1.2,92 L0.7,92 L0.7,88 L1.2,88 L1.2,92 Z M1.2,84 L0.7,84 L0.7,80 L1.2,80 L1.2,84 Z M1.2,76 L0.7,76 L0.7,72 L1.2,72 L1.2,76 Z M1.2,68 L0.7,68 L0.7,64 L1.2,64 L1.2,68 Z M1.2,60 L0.7,60 L0.7,56 L1.2,56 L1.2,60 Z" id="Shape"></path>
</g>
<path d="M2,134.5 C1.5,134.5 1.1,134.1 1,133.6 C0.9,133.1 1.3,132.6 1.9,132.5 L56,126.3 L99.1,97 C99.4,96.8 99.8,96.8 100.1,96.9 L141.9,118.7 L185.9,80 C186.1,79.8 186.3,79.8 186.6,79.8 L224.4,79.8 L248.9,47 C249.2,46.6 249.8,46.5 250.2,46.7 L282.9,66.2 L322.8,55.2 L376.6,34.1 C377.1,33.9 377.7,34.2 377.9,34.7 C378.1,35.2 377.8,35.8 377.3,36 L323.5,57.1 L323.4,57.1 L283,68.2 C282.7,68.3 282.5,68.2 282.2,68.1 L250,48.9 L225.7,81.4 C225.5,81.7 225.2,81.8 224.9,81.8 L187,81.8 L142.8,120.8 C142.5,121.1 142,121.1 141.7,120.9 L99.8,99 L56.9,128.2 C56.8,128.3 56.6,128.3 56.5,128.4 L2.2,134.6 C2.1,134.5 2,134.5 2,134.5 Z" id="Shape" fill="#13E5B6" fill-rule="nonzero"></path>
<g id="Group" transform="translate(185.000000, 38.000000)">
<path d="M4.5,0.5 L4.5,146.5" id="Line_1_" stroke="#0085FF" stroke-width="2" stroke-linecap="square" opacity="0.64"></path>
<circle id="dot" stroke="#FFFFFF" stroke-width="3" fill="#1A2A71" fill-rule="nonzero" cx="4.5" cy="41.5" r="4.5"></circle>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 5.3 KiB

View File

@ -1,39 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="247px" height="247px" viewBox="0 0 247 247" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 42 (36781) - http://www.bohemiancoding.com/sketch -->
<title>onboarding-tour-phone</title>
<desc>Created with Sketch.</desc>
<defs>
<linearGradient x1="50.0034413%" y1="-0.00291497976%" x2="50.0034413%" y2="75.267085%" id="linearGradient-1">
<stop stop-color="#192C3A" offset="0%"></stop>
<stop stop-color="#192C3A" offset="100%"></stop>
</linearGradient>
</defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="onboarding-tour-phone">
<path d="M123.5,247 C191.7,247 247,191.7 247,123.5 C247,55.3 191.7,0 123.5,0 C55.3,0 0,55.3 0,123.5 C0,191.7 55.3,247 123.5,247 Z" id="Shape" fill="url(#linearGradient-1)" fill-rule="nonzero" opacity="0.3"></path>
<g id="Group" transform="translate(69.000000, 32.000000)" stroke="#707D89" stroke-width="2">
<path d="M8,0 L91.8,0 C96.2,0 99.8,3.6 99.8,8 L99.8,175.9 C99.8,180.3 96.2,183.9 91.8,183.9 L8,183.9 C3.6,183.9 0,180.3 0,175.9 L0,8 C0,3.6 3.6,0 8,0 Z" id="Shape" fill-opacity="0.6548" fill="#192C3A" fill-rule="nonzero"></path>
<path d="M0.5,156 L99.3,156" id="Shape" stroke-linecap="square"></path>
<path d="M44.1,170.3 L62.8,170.3" id="Shape" stroke-linecap="square"></path>
</g>
<g id="Group" transform="translate(102.000000, 66.000000)" fill-rule="nonzero" fill="#5BC2A7">
<path d="M31.8,0 L0,0 L0,31.8 L31.8,31.8 L31.8,0 L31.8,0 Z M27.3,27.3 L4.6,27.3 L4.6,4.5 L27.3,4.5 L27.3,27.3 L27.3,27.3 Z" id="Shape"></path>
<polygon id="Shape" points="65.9 90.9 61.4 90.9 61.4 100 100 100 100 95.5 65.9 95.5"></polygon>
<rect id="Rectangle-path" x="9.1" y="9.1" width="13.6" height="13.6"></rect>
<path d="M0,100 L31.8,100 L31.8,68.2 L0,68.2 L0,100 L0,100 Z M4.5,72.7 L27.2,72.7 L27.2,95.4 L4.5,95.4 L4.5,72.7 L4.5,72.7 Z" id="Shape"></path>
<rect id="Rectangle-path" x="9.1" y="77.3" width="13.6" height="13.6"></rect>
<path d="M68.2,0 L68.2,31.8 L100,31.8 L100,0 L68.2,0 L68.2,0 Z M95.5,27.3 L72.8,27.3 L72.8,4.5 L95.5,4.5 L95.5,27.3 L95.5,27.3 Z" id="Shape"></path>
<rect id="Rectangle-path" x="77.3" y="9.1" width="13.6" height="13.6"></rect>
<rect id="Rectangle-path" x="90.9" y="36.4" width="9.1" height="9.1"></rect>
<rect id="Rectangle-path" x="0" y="54.5" width="9.1" height="9.1"></rect>
<polygon id="Shape" points="47.7 36.4 29.5 36.4 29.5 40.9 52.3 40.9 52.3 31.8 52.3 27.3 56.8 27.3 56.8 18.2 52.3 18.2 47.7 18.2 43.2 18.2 43.2 9.1 47.7 9.1 47.7 13.6 63.6 13.6 63.6 0 59.1 0 59.1 9.1 52.3 9.1 52.3 0 50 0 40.9 0 38.6 0 38.6 22.7 47.7 22.7 47.7 27.3 38.6 27.3 38.6 31.8 47.7 31.8"></polygon>
<polygon id="Shape" points="6.8 50 15.9 50 20.5 50 22.7 50 22.7 54.5 13.6 54.5 13.6 59.1 22.7 59.1 22.7 63.6 40.9 63.6 40.9 59.1 27.3 59.1 27.3 54.5 27.3 45.5 20.5 45.5 20.5 38.6 15.9 38.6 15.9 45.5 11.4 45.5 11.4 36.4 0 36.4 0 40.9 6.8 40.9"></polygon>
<polygon id="Shape" points="50 90.9 50 79.5 40.9 79.5 40.9 70.5 36.4 70.5 36.4 84.1 45.5 84.1 45.5 90.9 36.4 90.9 36.4 95.5 45.5 95.5 45.5 100 56.8 100 56.8 95.5 50 95.5"></polygon>
<polygon id="Shape" points="72.7 45.5 63.6 45.5 63.6 34.1 59.1 34.1 59.1 50 81.8 50 81.8 45.5 77.3 45.5 77.3 40.9 84.1 40.9 84.1 36.4 77.3 36.4 72.7 36.4 68.2 36.4 68.2 40.9 72.7 40.9"></polygon>
<polygon id="Shape" points="68.2 86.4 75 86.4 75 90.9 84.1 90.9 84.1 86.4 84.1 81.8 84.1 75 75 75 75 81.8 68.2 81.8 68.2 75 63.6 75 63.6 81.8 59.1 81.8 59.1 63.6 54.5 63.6 54.5 59.1 50 59.1 50 45.5 34.1 45.5 34.1 54.5 38.6 54.5 38.6 50 45.5 50 45.5 59.1 45.5 68.2 54.5 68.2 54.5 81.8 54.5 86.4 59.1 86.4 63.6 86.4"></polygon>
<polygon id="Shape" points="95.5 56.8 88.6 56.8 84.1 56.8 72.7 56.8 72.7 65.9 68.2 65.9 68.2 56.8 63.6 56.8 63.6 70.5 77.3 70.5 77.3 61.4 84.1 61.4 84.1 68.2 88.6 68.2 88.6 61.4 95.5 61.4 95.5 75 88.6 75 88.6 88.6 100 88.6 100 84.1 93.2 84.1 93.2 79.5 100 79.5 100 61.4 100 56.8 100 50 95.5 50"></polygon>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 4.3 KiB

View File

@ -1,10 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<svg version="1.1" id="Home" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 20 24" style="enable-background:new 0 0 20 24;" xml:space="preserve">
<style type="text/css">
.st0{fill:#1abb9b;}
.st1{fill:#616263;}
</style>
<polygon class="st0" points="10,0.9 0.7,9.4 0.7,23.3 6.9,23.3 6.9,15.8 13.1,15.8 13.1,23.3 19.3,23.3 19.3,9.4 "/>
<path class="st1" d="M20,24h-7.5v-7.5H7.5V24H0V9.1L10,0l10,9.1V24z M13.8,22.6h4.8V9.7L10,1.9L1.4,9.7v12.9h4.8v-7.5h7.6V22.6z"/>
</svg>

Before

Width:  |  Height:  |  Size: 580 B

View File

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<svg version="1.1" id="Home" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 20 24" style="enable-background:new 0 0 20 24;" xml:space="preserve">
<style type="text/css">
.st0{fill:#343434;}
</style>
<path class="st0" d="M20,24h-7.5v-7.5H7.5V24H0V9.1L10,0l10,9.1V24z M13.8,22.6h4.8V9.7L10,1.9L1.4,9.7v12.9h4.8v-7.5h7.6V22.6z"/>
</svg>

Before

Width:  |  Height:  |  Size: 436 B

View File

@ -1,20 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<svg version="1.1" id="QR_Icon" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 22 22" style="enable-background:new 0 0 22 22;" xml:space="preserve">
<style type="text/css">
.st0{fill:#1abb9b;}
.st1{fill:#616263;}
</style>
<rect x="13.5" y="1.2" class="st0" width="7.3" height="7.3"/>
<rect x="1.2" y="13.5" class="st0" width="7.3" height="7.3"/>
<rect x="1.2" y="1.2" class="st0" width="7.3" height="7.3"/>
<path class="st1" d="M9.7,9.7H0V0h9.7V9.7z M1.2,8.5h7.3V1.2H1.2V8.5z"/>
<path class="st1" d="M22,9.7h-9.7V0H22V9.7z M13.5,8.5h7.3V1.2h-7.3V8.5z"/>
<path class="st1" d="M9.7,22H0v-9.7h9.7V22z M1.2,20.8h7.3v-7.3H1.2V20.8z"/>
<polygon class="st1" points="22,17.6 20.8,17.6 20.8,13.5 18.2,13.5 18.2,16.3 13.2,16.3 13.2,12.9 14.4,12.9 14.4,15.1 17,15.1
17,12.3 22,12.3 "/>
<polygon class="st1" points="21.4,22 13.2,22 13.2,19.5 14.4,19.5 14.4,20.8 21.4,20.8 "/>
<rect x="3.8" y="3.8" class="st1" width="2.2" height="2.2"/>
<rect x="16" y="3.8" class="st1" width="2.2" height="2.2"/>
<rect x="3.8" y="16" class="st1" width="2.2" height="2.2"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -1,16 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<svg version="1.1" id="QR_Icon" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 22 22" style="enable-background:new 0 0 22 22;" xml:space="preserve">
<style type="text/css">
.st0{fill:#343434;}
</style>
<path class="st0" d="M9.7,9.7H0V0h9.7V9.7z M1.2,8.5h7.3V1.2H1.2V8.5z"/>
<path class="st0" d="M22,9.7h-9.7V0H22V9.7z M13.5,8.5h7.3V1.2h-7.3V8.5z"/>
<path class="st0" d="M9.7,22H0v-9.7h9.7V22z M1.2,20.8h7.3v-7.3H1.2V20.8z"/>
<polygon class="st0" points="22,17.6 20.8,17.6 20.8,13.5 18.2,13.5 18.2,16.3 13.2,16.3 13.2,12.9 14.4,12.9 14.4,15.1 17,15.1
17,12.3 22,12.3 "/>
<polygon class="st0" points="21.4,22 13.2,22 13.2,19.5 14.4,19.5 14.4,20.8 21.4,20.8 "/>
<rect x="3.8" y="3.8" class="st0" width="2.2" height="2.2"/>
<rect x="16" y="3.8" class="st0" width="2.2" height="2.2"/>
<rect x="3.8" y="16" class="st0" width="2.2" height="2.2"/>
</svg>

Before

Width:  |  Height:  |  Size: 950 B

View File

@ -1,17 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<svg version="1.1" id="Scan_Icon" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 32 20" style="enable-background:new 0 0 32 20;" xml:space="preserve">
<style type="text/css">
.st0{fill:#616263;}
</style>
<path class="st0" d="M6.3,6.3c-0.5,0-0.8-0.4-0.8-0.8V1.8C5.5,1.3,5.9,1,6.3,1H11c0.5,0,0.8,0.4,0.8,0.8c0,0.5-0.4,0.8-0.8,0.8H7.1
v3C7.1,5.9,6.7,6.3,6.3,6.3z"/>
<path class="st0" d="M25.7,13.7c0.5,0,0.8,0.4,0.8,0.8v3.8c0,0.5-0.4,0.8-0.8,0.8H21c-0.5,0-0.8-0.4-0.8-0.8c0-0.5,0.4-0.8,0.8-0.8
h4v-3C24.9,14.1,25.3,13.7,25.7,13.7z"/>
<path class="st0" d="M7.1,14.4v3h4c0.5,0,0.8,0.4,0.8,0.8c0,0.5-0.4,0.8-0.8,0.8H6.4c-0.5,0-0.8-0.4-0.8-0.8v-3.8
c0-0.5,0.4-0.8,0.8-0.8C6.7,13.7,7.1,14.1,7.1,14.4z"/>
<path class="st0" d="M24.9,5.6v-3h-4c-0.5,0-0.8-0.4-0.8-0.8c0-0.5,0.4-0.8,0.8-0.8h4.7c0.5,0,0.8,0.4,0.8,0.8v3.8
c0,0.5-0.4,0.8-0.8,0.8C25.3,6.3,24.9,5.9,24.9,5.6z"/>
<path class="st0" d="M31.1,10.8H0.8c-0.4,0-0.8-0.3-0.8-0.7c0-0.3,0.3-0.7,0.8-0.7h30.4c0.4,0,0.8,0.3,0.8,0.7
C31.9,10.4,31.6,10.8,31.1,10.8z"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -1,17 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<svg version="1.1" id="Scan_Icon" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 32 20" style="enable-background:new 0 0 32 20;" xml:space="preserve">
<style type="text/css">
.st0{fill:#343434;}
</style>
<path class="st0" d="M6.3,6.3c-0.5,0-0.8-0.4-0.8-0.8V1.8C5.5,1.3,5.9,1,6.3,1H11c0.5,0,0.8,0.4,0.8,0.8c0,0.5-0.4,0.8-0.8,0.8H7.1
v3C7.1,5.9,6.7,6.3,6.3,6.3z"/>
<path class="st0" d="M25.7,13.7c0.5,0,0.8,0.4,0.8,0.8v3.8c0,0.5-0.4,0.8-0.8,0.8H21c-0.5,0-0.8-0.4-0.8-0.8c0-0.5,0.4-0.8,0.8-0.8
h4v-3C24.9,14.1,25.3,13.7,25.7,13.7z"/>
<path class="st0" d="M7.1,14.4v3h4c0.5,0,0.8,0.4,0.8,0.8c0,0.5-0.4,0.8-0.8,0.8H6.4c-0.5,0-0.8-0.4-0.8-0.8v-3.8
c0-0.5,0.4-0.8,0.8-0.8C6.7,13.7,7.1,14.1,7.1,14.4z"/>
<path class="st0" d="M24.9,5.6v-3h-4c-0.5,0-0.8-0.4-0.8-0.8c0-0.5,0.4-0.8,0.8-0.8h4.7c0.5,0,0.8,0.4,0.8,0.8v3.8
c0,0.5-0.4,0.8-0.8,0.8C25.3,6.3,24.9,5.9,24.9,5.6z"/>
<path class="st0" d="M31.1,10.8H0.8c-0.4,0-0.8-0.3-0.8-0.7c0-0.3,0.3-0.7,0.8-0.7h30.4c0.4,0,0.8,0.3,0.8,0.7
C31.9,10.4,31.6,10.8,31.1,10.8z"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -1,12 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<svg version="1.1" id="Send_Icon" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 27 24" style="enable-background:new 0 0 27 24;" xml:space="preserve">
<style type="text/css">
.st0{fill:#192c3a;fill-opacity:0.4;stroke:#616263;stroke-width:1.4;}
.st1{fill:#1abb9b;fill-opacity:0.7145;stroke:#616263;stroke-width:1.4;}
</style>
<g>
<polyline class="st0" points="25.5,1.5 6.3,11.7 4.9,19.3 9.8,15.3 "/>
<polygon class="st1" points="1.5,6.4 25.5,1.5 17.1,22.5 "/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 597 B

View File

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<svg version="1.1" id="Send_Icon" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 27 24" style="enable-background:new 0 0 27 24;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;stroke:#343434;stroke-width:1.4;stroke-miterlimit:10;}
</style>
<g>
<polyline class="st0" points="25.5,1.5 6.3,11.7 4.9,19.3 9.8,15.3 "/>
<polygon class="st0" points="1.5,6.4 25.5,1.5 17.1,22.5 "/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 506 B

View File

@ -1,40 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 20.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Settings" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 23 24" style="enable-background:new 0 0 23 24;" xml:space="preserve">
<style type="text/css">
.st0{fill:#1abb9b;}
.st1{fill:#616263;}
</style>
<path id="fill" class="st0" d="M19.9,13.3c0.1-0.4,0.1-0.9,0.1-1.3c0-0.4,0-0.9-0.1-1.3L22,8.8c0.2-0.1,0.2-0.3,0.1-0.5
C21.7,7,21,5.7,20,4.7c-0.1-0.2-0.3-0.2-0.5-0.1l-2.7,0.9c-0.7-0.5-1.4-1-2.2-1.3L14,1.4C14,1.2,13.8,1,13.6,1
c-1.4-0.3-2.9-0.3-4.3,0C9.2,1,9,1.2,9,1.4L8.4,4.2C7.6,4.5,6.8,4.9,6.2,5.5L3.5,4.5C3.3,4.4,3.1,4.5,3,4.7C2,5.7,1.3,7,0.8,8.3
C0.8,8.5,0.8,8.7,1,8.8l2.2,1.9C3.1,11.1,3,11.6,3,12c0,0.4,0,0.9,0.1,1.3L1,15.2c-0.2,0.1-0.2,0.3-0.1,0.5C1.3,17,2,18.3,3,19.3
c0.1,0.2,0.3,0.2,0.5,0.1l2.7-0.9c0.7,0.5,1.4,1,2.2,1.3L9,22.6C9,22.8,9.2,23,9.4,23c0.7,0.1,1.4,0.2,2.1,0.2s1.4-0.1,2.1-0.2
c0.2,0,0.3-0.2,0.4-0.4l0.5-2.8c0.8-0.3,1.6-0.8,2.2-1.3l2.7,0.9c0.2,0.1,0.4,0,0.5-0.1c0.9-1.1,1.7-2.3,2.1-3.7
c0.1-0.2,0-0.4-0.1-0.5L19.9,13.3z M11.5,16.2c-2.4,0-4.2-1.9-4.2-4.2c0-2.3,1.9-4.2,4.2-4.2c2.3,0,4.2,1.9,4.2,4.2
C15.7,14.3,13.8,16.2,11.5,16.2L11.5,16.2z"/>
<path id="outline" class="st1" d="M11.5,24c-0.7,0-1.5-0.1-2.3-0.2c-0.5-0.1-0.9-0.5-1-1l-0.5-2.4c-0.6-0.3-1.2-0.6-1.7-1l-2.3,0.8
c-0.5,0.2-1,0.1-1.4-0.4c-1-1.2-1.8-2.5-2.3-3.9c-0.2-0.5,0-1.1,0.4-1.4L2.3,13c0-0.3-0.1-0.6-0.1-1c0-0.4,0-0.7,0.1-1L0.4,9.4
C0.1,9.2-0.1,8.6,0.1,8c0.4-1.4,1.2-2.7,2.3-3.9c0.3-0.4,0.9-0.5,1.4-0.3L6,4.6c0.5-0.4,1.1-0.7,1.7-1l0.5-2.4c0.1-0.5,0.5-0.9,1-1
c1.5-0.3,3.1-0.3,4.6,0c0.5,0.1,0.9,0.5,1,1l0.5,2.4c0.6,0.3,1.2,0.6,1.7,1l2.3-0.8c0.4-0.2,1-0.1,1.4,0.4c1,1.2,1.8,2.5,2.3,3.9
c0.2,0.5,0,1.1-0.4,1.4L20.7,11c0,0.3,0.1,0.6,0.1,1c0,0.4,0,0.7-0.1,1l1.8,1.6c0.4,0.3,0.6,0.9,0.3,1.4c-0.4,1.4-1.2,2.7-2.3,3.9
c-0.3,0.4-0.9,0.5-1.4,0.3L17,19.4c-0.5,0.4-1.1,0.7-1.7,1l-0.5,2.4c-0.1,0.5-0.5,0.9-1,1C13,23.9,12.2,24,11.5,24z M13.2,22.5
C13.2,22.5,13.2,22.5,13.2,22.5L13.2,22.5z M9.8,22.5L9.8,22.5C9.8,22.5,9.8,22.5,9.8,22.5z M9.7,22.3c1.3,0.2,2.3,0.2,3.6,0l0.6-3
l0.4-0.2c0.7-0.3,1.4-0.7,2-1.2l0.3-0.3l2.9,1c0.8-0.9,1.4-2,1.8-3.1l-2.3-2l0.1-0.4c0.1-0.3,0.1-0.7,0.1-1.2c0-0.4,0-0.8-0.1-1.2
L19,10.4l2.3-2c-0.4-1.1-1-2.1-1.8-3.1l-2.9,1l-0.3-0.3c-0.6-0.5-1.3-0.9-2-1.2l-0.4-0.2l-0.6-3c-1.2-0.2-2.4-0.2-3.6,0l-0.6,3
L8.7,4.9C8,5.2,7.3,5.6,6.7,6.1L6.4,6.3l-2.9-1C2.6,6.3,2,7.3,1.6,8.4l2.3,2l-0.1,0.4c-0.1,0.3-0.1,0.7-0.1,1.2c0,0.5,0,0.8,0.1,1.2
L4,13.6l-2.3,2c0.4,1.1,1,2.1,1.8,3.1l2.9-1l0.3,0.3c0.6,0.5,1.3,0.9,2,1.2l0.4,0.2L9.7,22.3z M13.5,22.2
C13.5,22.2,13.5,22.2,13.5,22.2C13.5,22.2,13.5,22.2,13.5,22.2z M9.5,22.2C9.5,22.2,9.5,22.2,9.5,22.2C9.5,22.2,9.5,22.2,9.5,22.2z
M19.4,18.8C19.4,18.8,19.4,18.8,19.4,18.8C19.4,18.8,19.4,18.8,19.4,18.8z M3.6,18.8C3.6,18.8,3.6,18.8,3.6,18.8
C3.6,18.8,3.6,18.8,3.6,18.8z M3.2,18.7C3.2,18.8,3.2,18.8,3.2,18.7L3.2,18.7z M19.8,18.7L19.8,18.7C19.8,18.7,19.8,18.7,19.8,18.7z
M21.5,15.7C21.5,15.8,21.6,15.8,21.5,15.7L21.5,15.7z M1.5,15.7L1.5,15.7C1.5,15.8,1.5,15.7,1.5,15.7z M21.4,15.4
C21.4,15.4,21.4,15.4,21.4,15.4C21.4,15.4,21.4,15.4,21.4,15.4z M1.6,15.4C1.6,15.4,1.6,15.4,1.6,15.4C1.6,15.4,1.6,15.4,1.6,15.4z
M21.4,8.6C21.4,8.6,21.4,8.6,21.4,8.6C21.4,8.6,21.4,8.6,21.4,8.6z M1.6,8.6C1.6,8.6,1.6,8.6,1.6,8.6C1.6,8.6,1.6,8.6,1.6,8.6z
M21.5,8.2C21.5,8.3,21.5,8.3,21.5,8.2L21.5,8.2z M1.4,8.2L1.4,8.2C1.5,8.2,1.4,8.2,1.4,8.2z M3.2,5.3C3.2,5.3,3.2,5.3,3.2,5.3
L3.2,5.3z M19.8,5.2L19.8,5.2C19.8,5.3,19.8,5.3,19.8,5.2z M19.4,5.2C19.4,5.2,19.4,5.2,19.4,5.2C19.4,5.2,19.4,5.2,19.4,5.2z
M3.6,5.2C3.6,5.2,3.6,5.2,3.6,5.2C3.6,5.2,3.6,5.2,3.6,5.2z M13.5,1.8C13.5,1.8,13.5,1.8,13.5,1.8C13.5,1.8,13.5,1.8,13.5,1.8z
M9.5,1.8C9.5,1.8,9.5,1.8,9.5,1.8C9.5,1.8,9.5,1.8,9.5,1.8z M13.2,1.5C13.2,1.5,13.2,1.5,13.2,1.5L13.2,1.5z M9.8,1.5L9.8,1.5
C9.8,1.5,9.8,1.5,9.8,1.5z M11.5,17c-2.8,0-5-2.2-5-5s2.3-5,5-5c2.8,0,5,2.2,5,5S14.3,17,11.5,17z M11.5,8.6c-1.9,0-3.4,1.5-3.4,3.4
c0,1.9,1.5,3.4,3.4,3.4c1.9,0,3.4-1.5,3.4-3.4S13.4,8.6,11.5,8.6z"/>
</svg>

Before

Width:  |  Height:  |  Size: 4.1 KiB

View File

@ -1,31 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 20.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Settings" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 23 24" style="enable-background:new 0 0 23 24;" xml:space="preserve">
<style type="text/css">
.st0{fill:#343434;}
</style>
<path id="outline" class="st0" d="M11.5,24c-0.7,0-1.5-0.1-2.3-0.2c-0.5-0.1-0.9-0.5-1-1l-0.5-2.4c-0.6-0.3-1.2-0.6-1.7-1l-2.3,0.8
c-0.5,0.2-1,0.1-1.4-0.4c-1-1.2-1.8-2.5-2.3-3.9c-0.2-0.5,0-1.1,0.4-1.4L2.3,13c0-0.3-0.1-0.6-0.1-1c0-0.4,0-0.7,0.1-1L0.4,9.4
C0.1,9.2-0.1,8.6,0.1,8c0.4-1.4,1.2-2.7,2.3-3.9c0.3-0.4,0.9-0.5,1.4-0.3L6,4.6c0.5-0.4,1.1-0.7,1.7-1l0.5-2.4c0.1-0.5,0.5-0.9,1-1
c1.5-0.3,3.1-0.3,4.6,0c0.5,0.1,0.9,0.5,1,1l0.5,2.4c0.6,0.3,1.2,0.6,1.7,1l2.3-0.8c0.4-0.2,1-0.1,1.4,0.4c1,1.2,1.8,2.5,2.3,3.9
c0.2,0.5,0,1.1-0.4,1.4L20.7,11c0,0.3,0.1,0.6,0.1,1c0,0.4,0,0.7-0.1,1l1.8,1.6c0.4,0.3,0.6,0.9,0.3,1.4c-0.4,1.4-1.2,2.7-2.3,3.9
c-0.3,0.4-0.9,0.5-1.4,0.3L17,19.4c-0.5,0.4-1.1,0.7-1.7,1l-0.5,2.4c-0.1,0.5-0.5,0.9-1,1C13,23.9,12.2,24,11.5,24z M13.2,22.5
C13.2,22.5,13.2,22.5,13.2,22.5L13.2,22.5z M9.8,22.5L9.8,22.5C9.8,22.5,9.8,22.5,9.8,22.5z M9.7,22.3c1.3,0.2,2.3,0.2,3.6,0l0.6-3
l0.4-0.2c0.7-0.3,1.4-0.7,2-1.2l0.3-0.3l2.9,1c0.8-0.9,1.4-2,1.8-3.1l-2.3-2l0.1-0.4c0.1-0.3,0.1-0.7,0.1-1.2c0-0.4,0-0.8-0.1-1.2
L19,10.4l2.3-2c-0.4-1.1-1-2.1-1.8-3.1l-2.9,1l-0.3-0.3c-0.6-0.5-1.3-0.9-2-1.2l-0.4-0.2l-0.6-3c-1.2-0.2-2.4-0.2-3.6,0l-0.6,3
L8.7,4.9C8,5.2,7.3,5.6,6.7,6.1L6.4,6.3l-2.9-1C2.6,6.3,2,7.3,1.6,8.4l2.3,2l-0.1,0.4c-0.1,0.3-0.1,0.7-0.1,1.2c0,0.5,0,0.8,0.1,1.2
L4,13.6l-2.3,2c0.4,1.1,1,2.1,1.8,3.1l2.9-1l0.3,0.3c0.6,0.5,1.3,0.9,2,1.2l0.4,0.2L9.7,22.3z M13.5,22.2
C13.5,22.2,13.5,22.2,13.5,22.2C13.5,22.2,13.5,22.2,13.5,22.2z M9.5,22.2C9.5,22.2,9.5,22.2,9.5,22.2C9.5,22.2,9.5,22.2,9.5,22.2z
M19.4,18.8C19.4,18.8,19.4,18.8,19.4,18.8C19.4,18.8,19.4,18.8,19.4,18.8z M3.6,18.8C3.6,18.8,3.6,18.8,3.6,18.8
C3.6,18.8,3.6,18.8,3.6,18.8z M3.2,18.7C3.2,18.8,3.2,18.8,3.2,18.7L3.2,18.7z M19.8,18.7L19.8,18.7C19.8,18.7,19.8,18.7,19.8,18.7z
M21.5,15.7C21.5,15.8,21.6,15.8,21.5,15.7L21.5,15.7z M1.5,15.7L1.5,15.7C1.5,15.8,1.5,15.7,1.5,15.7z M21.4,15.4
C21.4,15.4,21.4,15.4,21.4,15.4C21.4,15.4,21.4,15.4,21.4,15.4z M1.6,15.4C1.6,15.4,1.6,15.4,1.6,15.4C1.6,15.4,1.6,15.4,1.6,15.4z
M21.4,8.6C21.4,8.6,21.4,8.6,21.4,8.6C21.4,8.6,21.4,8.6,21.4,8.6z M1.6,8.6C1.6,8.6,1.6,8.6,1.6,8.6C1.6,8.6,1.6,8.6,1.6,8.6z
M21.5,8.2C21.5,8.3,21.5,8.3,21.5,8.2L21.5,8.2z M1.4,8.2L1.4,8.2C1.5,8.2,1.4,8.2,1.4,8.2z M3.2,5.3C3.2,5.3,3.2,5.3,3.2,5.3
L3.2,5.3z M19.8,5.2L19.8,5.2C19.8,5.3,19.8,5.3,19.8,5.2z M19.4,5.2C19.4,5.2,19.4,5.2,19.4,5.2C19.4,5.2,19.4,5.2,19.4,5.2z
M3.6,5.2C3.6,5.2,3.6,5.2,3.6,5.2C3.6,5.2,3.6,5.2,3.6,5.2z M13.5,1.8C13.5,1.8,13.5,1.8,13.5,1.8C13.5,1.8,13.5,1.8,13.5,1.8z
M9.5,1.8C9.5,1.8,9.5,1.8,9.5,1.8C9.5,1.8,9.5,1.8,9.5,1.8z M13.2,1.5C13.2,1.5,13.2,1.5,13.2,1.5L13.2,1.5z M9.8,1.5L9.8,1.5
C9.8,1.5,9.8,1.5,9.8,1.5z M11.5,17c-2.8,0-5-2.2-5-5s2.3-5,5-5c2.8,0,5,2.2,5,5S14.3,17,11.5,17z M11.5,8.6c-1.9,0-3.4,1.5-3.4,3.4
c0,1.9,1.5,3.4,3.4,3.4c1.9,0,3.4-1.5,3.4-3.4S13.4,8.6,11.5,8.6z"/>
</svg>

Before

Width:  |  Height:  |  Size: 3.1 KiB

View File

@ -1,75 +0,0 @@
/*
* Copay Distribution SCSS overrides
*/
/* Colors */
$v-primary-color: #192c3a;
$v-secondary-color: #31465b;
$v-accent-color: #1abb9b;
$v-text-primary-color: #192c3a;
$v-text-secondary-color: #c2c9d1;
$v-text-accent-color: #1abb9b;
$v-success-color: #1abb9b;
$v-warning-color: #bb331a;
/* Theme */
$v-default-wallet-color-index: 6;
$v-top-tabs-color: $v-accent-color;
$v-wallet-backup-phrase-color: $v-text-primary-color;
$v-wallet-backup-select-phrase-color: $v-secondary-color;
$v-wallet-backup-select-word-bg: $v-accent-color;
$v-wallet-backup-select-word-color: $v-text-primary-color;
$v-wallet-backup-select-word-disabled-color: $v-accent-color;
$v-tou-bg: $v-secondary-color;
$v-tou-color: $v-text-secondary-color;
$v-icon-border-radius: 3px;
$v-bitcoin-icon: url('../img/app/icon-bitcoin.svg');
$v-button-primary-outline-active-color: $v-text-primary-color;
$v-button-secondary-bg: $v-secondary-color;
$v-button-secondary-color: $v-accent-color;
$v-button-secondary-active-bg: darken($v-secondary-color, 10%);
$v-button-secondary-clear-color: $v-accent-color;
$v-button-secondary-outline-border: $v-accent-color;
$v-button-secondary-outline-color: $v-accent-color;
$v-button-secondary-outline-active-bg: darken($v-accent-color, 10%);
$v-button-secondary-outline-active-color: $v-accent-color;
/* Slide */
$v-slide-bg-color: $v-accent-color;
$v-slider-bg-color: #069074;
$v-slide-text-color: #FFFFFF;
/* Onboarding */
$v-onboarding-welcome-bg: none;
$v-onboarding-color: $v-text-secondary-color;
$v-onboarding-bar-header-color: $v-text-primary-color;
$v-onboarding-bar-header-button-color: $v-accent-color;
$v-onboarding-tour-phone-bg: url(../img/app/onboarding/tour-phone.svg);
$v-onboarding-tour-currency-bg: url(../img/app/onboarding/tour-currency.svg);
$v-onboarding-tour-control-bg: url(../img/app/onboarding/tour-control.svg);
$v-onboarding-push-notification-bg: url(../img/app/onboarding/push-notifications.svg);
$v-onboarding-backup-warning-bg: url(../img/app/backup-warning.svg);
$v-onboarding-button-back-color: $v-accent-color;
$v-onboarding-button-secondary-bg: $v-secondary-color;
$v-onboarding-button-secondary-color: $v-accent-color;
$v-onboarding-button-secondary-active-bg: darken($v-secondary-color, 10%);
$v-onboarding-button-secondary-clear-color: $v-accent-color;
$v-onboarding-button-secondary-outline-border: $v-accent-color;
$v-onboarding-button-secondary-outline-color: $v-accent-color;
$v-onboarding-button-secondary-outline-active-bg: darken($v-accent-color, 10%);
$v-onboarding-button-secondary-outline-active-color: $v-accent-color;
/* Main tabs */
$v-tab-home-selected-icon: url('../img/app/tab-icons/ico-home-selected.svg');
$v-tab-receive-selected-icon: url('../img/app/tab-icons/ico-receive-selected.svg');
$v-tab-settings-selected-icon: url('../img/app/tab-icons/ico-settings-selected.svg');
$v-tab-scan-selected-icon: url('../img/app/tab-icons/ico-scan-selected.svg');
$v-tab-send-selected-icon: url('../img/app/tab-icons/ico-send-selected.svg');

View File

@ -1,35 +0,0 @@
<!doctype html>
<html lang="en">
<head ng-controller="headController">
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no">
<meta name="msapplication-tap-highlight" content="no">
<meta name="format-detection" content="telephone=no">
<link rel="stylesheet" type="text/css" href="css/main.css">
<title>*USERVISIBLENAME* - *PURPOSELINE*</title>
<link rel="shortcut icon" href="img/app/favicon.ico">
</head>
<body>
<!-- Workaround to prevent autofill -->
<div style="display: none;">
<input type="text"
id="PreventChromeAutocomplete"
name="PreventChromeAutocomplete"
autocomplete="address-level4" />
</div>
<ion-nav-view>
<incoming-data-menu></incoming-data-menu>
</ion-nav-view>
<script src="lib/ionic.bundle.min.js"></script>
<script src="lib/angular-components.js"></script>
<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
<script src="js/app.js"></script>
</body>
</html>

View File

@ -1,4 +0,0 @@
{
"name": "*USERVISIBLENAME*",
"app_id": "com.bitpay.*BUNDLENAME*"
}

View File

@ -1,21 +0,0 @@
{
"manifest_version": 2,
"name": "*PACKAGENAME*",
"description": "*DESCRIPTION*",
"version": "*VERSION*",
"permissions": [
"storage",
"unlimitedStorage",
"notifications",
"videoCapture",
"webview"
],
"app": {
"background": {
"scripts": ["initial.js"]
}
},
"icons": {
"128": "img/icon-chrome-128.png"
}
}

View File

@ -1,127 +0,0 @@
{
"name": "*PACKAGENAME*",
"description": "*DESCRIPTION*",
"author": "BitPay",
"version": "*VERSION*",
"keywords": [
"bitcoin",
"wallet",
"bitpay",
"copay",
"multisignature",
"bitcore"
],
"main": "www/index.html",
"title": "*USERVISIBLENAME*",
"window": {
"title": "*USERVISIBLENAME* - *PURPOSELINE*",
"icon": "www/img/app/icon.png",
"toolbar": false,
"show": true,
"visible": true,
"resizable": true,
"frame": true,
"width": 400,
"height": 650,
"min_width": 400,
"max_width": 800,
"min_height": 650,
"position": "center",
"fullscreen": false
},
"webkit": {
"page-cache": false,
"java": false,
"plugin": false
},
"dom_storage_quota": 200,
"id": "jid1-x7bV5evAaI1P9Q",
"homepage": "*URL*",
"license": "MIT",
"repository": {
"url": "*GITHUBREPOURL*",
"type": "git"
},
"bugs": {
"url": "*GITHUBREPOBUGS*"
},
"engines": {
"node": "6",
"npm": "3"
},
"dependencies": {
"adm-zip": "^0.4.7",
"angular": "1.4.6",
"angular-mocks": "1.4.10",
"bezier-easing": "^2.0.3",
"bhttp": "^1.2.1",
"bitauth": "^0.2.1",
"bitcore-wallet-client": "5.3.0",
"bower": "^1.7.9",
"cordova-android": "5.1.1",
"cordova-custom-config": "^3.0.5",
"cordova-plugin-qrscanner": "^2.5.0",
"coveralls": "^2.11.9",
"express": "^4.11.2",
"fs": "0.0.2",
"fs-extra": "^0.30.0",
"grunt-angular-gettext": "^2.2.3",
"grunt-browserify": "^5.0.0",
"grunt-cli": "^1.2.0",
"grunt-contrib-compress": "^1.3.0",
"grunt-contrib-concat": "^1.0.1",
"grunt-contrib-copy": "^1.0.0",
"grunt-contrib-uglify": "^2.0.0",
"grunt-contrib-watch": "^1.0.0",
"grunt-exec": "^1.0.0",
"grunt-nw-builder": "^2.0.3",
"grunt-sass": "^1.2.0",
"load-grunt-tasks": "^3.5.0",
"shelljs": "^0.3.0"
},
"scripts": {
"postinstall": "bower install",
"start": "npm run build:www && ionic serve --nolivereload --nogulp -s --address 0.0.0.0",
"start:ios": "npm run build:www && npm run build:ios && npm run open:ios",
"start:android": "npm run build:www && npm run build:android && npm run run:android",
"start:windows": "npm run build:www && npm run build:windows",
"start:desktop": "npm start",
"watch": "grunt watch",
"build:www": "grunt",
"build:www-release": "grunt prod",
"build:ios": "cordova prepare ios && cordova build ios --debug",
"build:android": "cordova prepare android && cordova build android --debug",
"build:windows": "cordova prepare windows && cordova build windows -- --arch=\"ARM\"",
"build:ios-release": "cordova prepare ios && cordova build ios --release",
"build:android-release": "cordova prepare android && cordova build android --release",
"build:windows-release": "cordova prepare windows && cordova build windows --release --arch=\"ARM\"",
"build:desktop": "grunt desktop",
"build:osx": "grunt osx",
"open:ios": "open platforms/ios/*.xcodeproj",
"open:android": "open -a open -a /Applications/Android\\ Studio.app platforms/android",
"final:www": "npm run build:www-release",
"final:ios": "npm run final:www && npm run build:ios-release && npm run open:ios",
"final:android": "npm run final:www && npm run build:android-release && npm run sign:android && npm run run:android-release",
"final:windows": "npm run final:www && npm run build:windows-release",
"final:desktop": "npm run build:desktop && npm run build:osx",
"run:android": "cordova run android --device",
"run:android-release": "cordova run android --device --release",
"log:android": "adb logcat | grep chromium",
"sign:android": "rm -f platforms/android/build/outputs/apk/android-release-signed-aligned.apk; jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore ../copay.keystore -signedjar platforms/android/build/outputs/apk/android-release-signed.apk platforms/android/build/outputs/apk/android-release-unsigned.apk copay_play && ../android-sdk-macosx/build-tools/25.0.3/zipalign -v 4 platforms/android/build/outputs/apk/android-release-signed.apk platforms/android/build/outputs/apk/android-release-signed-aligned.apk",
"apply:copay": "npm i fs-extra && cd app-template && node apply.js copay && npm i && cordova prepare",
"apply:bitpay": "npm i fs-extra && cd app-template && node apply.js bitpay && npm i && cordova prepare",
"test": "echo \"no package tests configured\"",
"clean": "trash platforms && trash plugins && cordova prepare",
"unstage-package": "git reset package.json",
"clean-all": "git clean -dfx"
},
"devDependencies": {
"cordova": "^6.3.1",
"grunt": "^1.0.1",
"ionic": "^2.1.0",
"trash-cli": "^1.4.0",
"lodash": "^4.3.0",
"pre-commit": "^1.1.3"
},
"pre-commit": "unstage-package"
}

View File

@ -1,57 +0,0 @@
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define MyAppName "*USERVISIBLENAME*"
#define MyAppVersion "*VERSION*"
#define MyAppPublisher "BitPay"
#define MyAppURL "*URL*"
#define MyAppExeName "*USERVISIBLENAME*.exe"
#define AppId "*WINDOWSAPPID*"
[Setup]
AppId={#AppId}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}
OutputBaseFilename=*USERVISIBLENAME*
OutputDir=./
Compression=lzma
SolidCompression=yes
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
Name: "french"; MessagesFile: "compiler:Languages\French.isl"
Name: "japanese"; MessagesFile: "compiler:Languages\Japanese.isl"
Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl"
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
[Files]
Source: "*USERVISIBLENAME*\win64\*USERVISIBLENAME*.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "*USERVISIBLENAME*\win64\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "../www/img/app/logo.ico"; DestDir: "{app}"; DestName: "icon.ico"; Flags: ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; WorkingDir: "{app}"; IconFilename: "{app}/icon.ico"
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; IconFilename: "{app}/icon.ico"; Tasks: desktopicon
[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
[Registry]
Root: HKCR; Subkey: "bitcoin"; ValueType: "string"; ValueData: "URL:Bitcoin Custom Protocol"; Flags: uninsdeletekey
Root: HKCR; Subkey: "bitcoin"; ValueType: "string"; ValueName: "URL Protocol"; ValueData: ""
Root: HKCR; Subkey: "bitcoin\DefaultIcon"; ValueType: "string"; ValueData: "{app}\{#MyAppExeName},0"
Root: HKCR; Subkey: "bitcoin\shell\open\command"; ValueType: "string"; ValueData: """{app}\{#MyAppExeName}"" ""%1"""
Root: HKCR; Subkey: "*APPURI*"; ValueType: "string"; ValueData: "URL:*USERVISIBLENAME* Custom Protocol"; Flags: uninsdeletekey
Root: HKCR; Subkey: "*APPURI*"; ValueType: "string"; ValueName: "URL Protocol"; ValueData: ""
Root: HKCR; Subkey: "*APPURI*\DefaultIcon"; ValueType: "string"; ValueData: "{app}\{#MyAppExeName},0"
Root: HKCR; Subkey: "*APPURI*\shell\open\command"; ValueType: "string"; ValueData: """{app}\{#MyAppExeName}"" ""%1"""

View File

@ -1,92 +0,0 @@
# Copay Backup and Restore Notes
## Description
Copay is a Multisig HD Wallet. Copay app holds the extended private keys for the wallet. The private key never leaves the device, so for accessing a wallet funds it is necesary to have the device or a backup of the wallet.
## Definitions
### Backup Formats:
* Wallet recovery phrase (RP): 12 words mnemonic backup (available from Copay v1.2+). The 12 words are used as wallet seed, following BIP39 specification. The wallet RP may require a passphrase to recreate the wallet (if one was specified at creation time).
* Wallet Backup (WB): Exported data from Copay, containing an AES encrypted JSON with many wallet parameters (like extended private key, wallet name, extended public keys of copayers, etc. See #export-format). This data can be created from Copay v1.2+ (Settings -> Advanced -> Export) and it was the default backup format on previous Copay versions. WB can be a file (standard format for Copay desktop versions) or a text (standard for Copay mobile versions).
### Backup recovery cases
* Case 1: Lost of device holding the wallet
* Case 2: Change to a new Bitcore Wallet Service (BWS)
* Case 3: Lost device + new Bitcore Wallet Service
### Wallet Recovery Scope
* Basic Recovery: Wallet access is restored. It is possible to see wallet balance and past transactions. It is possible to send and receive payments.
* Full Recovery: All the features of Partial Recovery + wallet name, copayer names are recovered, past payment proposal metadata (who signed, and notes) are recovered.
## Wallet Restore Scenarios
### Non-multisig wallets
Case 1: From both RP and WB, full recovery is possible.
- Enter the RP or the WB at 'Import wallet' in a new device.
- Wallet access should be restored.
Case 2: Basic recovery is possible using the device where the wallet is installed, pointing to the new server (Recreate wallet feature).
- Point to the new server (Settings -> Bitcore Wallet Service).
- If the wallet is not registered at the new Wallet service, a 'Recreate' button will appear at wallet's home. Click it to recreate the wallet.
- Wallet should be recreated and access to funds should be restored.
- If the wallet existed, it may be necessary to rescan Wallet's addresses for funds (from Settings -> Advanced -> Scan Addresses for Funds)
Case 3: From both Backup Words and Backup file, basic recovery is possible.
(Using RP)
- Enter the RP at 'Import Wallet'
If the error "This wallet is not registered at the wallet service" appears:
- Go to 'Create Wallet', and enter the RP at 'Advanced Options'. Select a new name for the restored wallet. Total and required number of copayers should be set to 1.
- Wallet should be recreated and access to funds should be restored.
(Using WB)
- Enter the WB at 'Import Wallet'
- Wallet should be recreated and access to funds should be restored.
### Multisig wallets
Case 1: From both RP and WB, full recovery is possible.
- Enter RP or WB at 'Import wallet' in a new device.
- Wallet access should be restored.
Case 2: Basic recovery is possible using the device where the wallet is installed, pointing the the new server (Recreate Wallet feature).
- Point to the new server (Settings -> Advanced -> Wallet Service URL).
- If the wallet is not registered at the new Wallet service, a 'Recreate' button will appear at wallet's home. Click it to recreate the wallet.
- Wallet should be recreated and access to funds should be restored.
- If the wallet existed, it may be necessary to rescan Wallet's addresses for funds (from Settings -> Advanced -> Wallet information -> Scan Addresses for Funds)
Case 3: Basic recovery is possible using:
A) RP of all copayers in the wallet
- Enter one RP at Create (at the Advanced option section). Note that the wallet configuration (M-of-N and network paramenters) needs to match the parameters that where entered when the wallet was first created. Wallet name and copayer nicknames need to be entered also, but there is no need for them to match the original wallet setup.
- Ask other copayers to join the wallet using the given invitation code. All copayers need to enter their RP at Join (at -> Advanced Options -> Wallet Seed).
- Wallet should be recreated and access to funds should be restored.
B) One WB and a quorum of RP of the other members.
- Using the WB, import the wallet.
- Ask other copayers to import the wallet using their RP.
- Wallet should be recreated and funds should be accesable
In this case, Copayers will not be able to decrypt the 'notes' field on the new Spend Proposals, because the shared secret stored at the WB is not longer known by other copayers.
### Hardware wallets
In case hardware based wallet is created and then the hardware device is lost, it is possible, using Copay, to access the funds in case the hardware device seed (mnemonic) is available.
In order to recover a hardware wallet you need to enter the RP in
Create or the Join wallet -> Advance options -> specify RP.
You can select the account you need to import and select if the wallet is multisig or not thru the `derivation path`: Copay uses `m/48'` for multisignature hardware wallets, and `m/44'` for all the other wallet types. The format is the following:
m/XX'/<coin_type>'/<account'>
For harward wallets, `coin_type` is always `0`.
For example, if you need to import a non-multisignatured wallet, account 8, you should enter: `m/44'/0'/8'`
Note that TREZOR use 1-based account numbers, so if your are trying for example to recover TREZOR multisig account #8, you should enter `m/48'/0'/7'`.

View File

@ -1,28 +0,0 @@
Copay accepts three base derivation paths:
* m/44'
* m/48' (only used for MULTISIGNATURE, HARDWARE Wallets)
* m/45' (deprecated and it is only supported for old wallets)
Both m/44 and m/48 follow the BIP44 standard:
m/XX'/<coin_type>'/<account'>
Supported cointypes are: 0: Livenet, and 1: Testnet
If you need to import a wallet from a mnemonic using an account different
from the default (0), use, for example:
m/44'/0'/11'
to import account 11.
In case you have a multisignature wallet originally created from a hardware device, and you had loose access to the device, you will need to enter the 24 mnemonic backup (from the device) and a path like:
m/48'/0'/8'
for a multisignature wallet, account 8.
Finally, note that TREZOR use 1-based account numbers, so if your are trying for example to recover TREZOR multisig account #8, you should enter `m/48'/0'/7'`.

View File

@ -1,29 +0,0 @@
{
"name": "copay",
"keywords": [
"copay",
"wallet",
"multisignature",
"bitcore"
],
"dependencies": {
"angular-mocks": "1.4.10",
"angular-gettext": "2.2.1",
"angular-moment": "0.10.1",
"angular-qrcode": "bitpay/angular-qrcode#~6.3.0",
"ionic": "https://github.com/ionic-team/ionic-v1.git",
"moment": "2.10.3",
"ng-lodash": "0.2.3",
"qrcode-decoder-js": "*",
"trezor-connect": "~1.1.3",
"ng-csv": "~0.3.6",
"ionic-toast": "^0.4.1",
"angular-clipboard": "^1.4.2",
"angular-md5": "^0.1.10",
"ngtouch": "^1.0.1"
},
"resolutions": {
"angular": "1.5.3",
"ionic": "1b7414faba"
}
}

View File

@ -1,11 +0,0 @@
{
"windows": {
"debug": {
"packageCertificateKeyFile": "platforms\\windows\\CordovaApp_TemporaryKey.pfx"
},
"release": {
"packageThumbprint": "ABCABCABCABC123123123123",
"publisherId": "CN=F89609D1-EB3E-45FD-A58A-C2E3895FCE7B"
}
}
}

View File

@ -1,27 +0,0 @@
# Configs
BUILDDIR=build
ZIPFILE=copay-chrome-extension.zip
INCLUDE=$(shell cat ./include)
INITIAL=./initial.js
BASE=$(CURDIR)
all: $(ZIPFILE)
dir:
rm -rf $(BUILDDIR)
mkdir -p $(BUILDDIR)
cp manifest.json $(BUILDDIR)/manifest.json
cp -vf $(INITIAL) $(BUILDDIR)
files:
cd ../www && rsync -rLRv --exclude-from $(BASE)/exclude $(INCLUDE) $(BASE)/$(BUILDDIR) && cd -
cd .. && rsync -rLRv ./bower_components/trezor-connect/chrome/* $(BASE)/$(BUILDDIR)/ && cd -
$(ZIPFILE): dir files
cd $(BUILDDIR)
rm -f $(ZIPFILE)
zip -qr $(ZIPFILE) "`basename $(BUILDDIR)`"
@echo "** The Chrome Extension is ready at copay-chrome-extension.zip"

View File

@ -1,11 +0,0 @@
../cordova
../covergae
../bower_components
../browser_extensions
../node_modules
../po
../src
../util
../.git
../test
../.*

View File

@ -1,10 +0,0 @@
./index.html
./cordova.js
./css/*.css
./fonts/*
./img/*
./img/**/*
./js/*.js
./lib/*.js
./views/*.html
./views/**/*.html

View File

@ -1,8 +0,0 @@
chrome.app.runtime.onLaunched.addListener(function() {
chrome.app.window.create('index.html', {
'bounds': {
'width': 400,
'height': 600
}
});
});

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

View File

@ -1,248 +0,0 @@
#!/usr/bin/env node
'use strict';
if (process.argv[2]) {
var no_build = (process.argv[2].toLowerCase() == '--nobuild')
if (no_build == false) {
console.log('Incorrect arg. Please use --nobuild if you would like to download without api key.');
process.exit(1);
};
} else {
var no_build = false;
console.log('\n' +
'Please note: If you do not have the crowdin API key and would like to download the ' +
'translations without building anyways, please make sure your English files are the same ' +
'version as crowdin, and then run this script with --nobuild\n\n' +
'eg. "node crowdin_download.js --nobuild"\n\n');
};
var fs = require('fs');
var path = require('path');
var https = require('https');
var AdmZip = require('adm-zip');
var crowdin_identifier = 'copay'
var local_file_name2 = path.join(__dirname, 'docs/appstore_en.txt')
var local_file_name3 = path.join(__dirname, 'docs/updateinfo_en.txt')
try {
fs.statSync(local_file_name2);
fs.statSync(local_file_name3);
}
catch (e) {
console.log('\n### ABORTING ### One of the following files does not exist:\n' + local_file_name2 + '\n' + local_file_name3);
process.exit(1);
}
try {
// obtain the crowdin api key
var crowdin_api_key = fs.readFileSync(path.join(__dirname, 'crowdin_api_key.txt'), 'utf8')
} catch (e) {
console.log('### ERROR ### You do not have the crowdin api key in ./crowdin_api_key.txt');
process.exit(1);
};
if (no_build == false) { // Reminder: Any changes to the script below must also be made to the else clause and vice versa.
// This call will tell the server to generate a new zip file for you based on most recent translations.
https.get('https://api.crowdin.com/api/project/' + crowdin_identifier + '/export?key=' + crowdin_api_key, function(res) {
console.log('Export Got response: ' + res.statusCode);
res.on('data', function(chunk) {
var resxml = chunk.toString('utf8');
console.log(resxml);
if (resxml.indexOf('status="skipped"') >= 0) {
console.log('Translation build was skipped due to either:\n' +
'1. No changes since last translation build, or\n' +
'2. API limit of once per 30 minutes has not been waited.\n\n' +
'Since we can not guarantee that translations have been built properly, this script will end here.\n' +
'Log in to Copay\'s Crowdin Settings and click the "Build Project" button to assure it is built recently, and then run this ' +
'script again with the --nobuild arg to download translations without checking if built.');
process.exit(1);
};
// Download most recent translations for all languages.
https.get('https://crowdin.com/download/project/' + crowdin_identifier + '.zip', function(res) {
var data = [], dataLen = 0;
res.on('data', function(chunk) {
data.push(chunk);
dataLen += chunk.length;
}).on('end', function() {
var buf = new Buffer(dataLen);
for (var i=0, len = data.length, pos = 0; i < len; i++) {
data[i].copy(buf, pos);
pos += data[i].length;
};
var zip = new AdmZip(buf);
zip.extractAllTo('./', true);
console.log('Done extracting ZIP file.');
var files = fs.readdirSync('./docs');
for (var i in files) {
debugger;
if (files[i].slice(0,9) == 'appstore_' && files[i].slice(-4) == '.txt' && files[i] != 'appstore_en.txt') {
var english_file = fs.readFileSync(local_file_name2, 'utf8');
var compare_file = fs.readFileSync(path.join(__dirname, 'docs/' + files[i]), 'utf8')
english_file = english_file.replace(/\r\n/g, '\n');
compare_file = compare_file.replace(/\r\n/g, '\n');
if (compare_file == english_file) {
fs.unlinkSync(path.join(__dirname, 'docs/' + files[i]));
};
};
if (files[i].slice(0,11) == 'updateinfo_' && files[i].slice(-4) == '.txt' && files[i] != 'updateinfo_en.txt') {
var english_file = fs.readFileSync(local_file_name3, 'utf8');
var compare_file = fs.readFileSync(path.join(__dirname, 'docs/' + files[i]), 'utf8')
english_file = english_file.replace(/\r\n/g, '\n');
compare_file = compare_file.replace(/\r\n/g, '\n');
if (compare_file == english_file) {
fs.unlinkSync(path.join(__dirname, 'docs/' + files[i]));
};
};
};
console.log('Cleaned out completely untranslated appstore docs.');
var files = fs.readdirSync('./po');
for (var i in files) {
if (files[i] != 'template.pot') {
var po_file = fs.readFileSync(path.join(__dirname, 'po/' + files[i]), 'utf8');
var po_array = po_file.split('\n');
for (var j in po_array) {
if (po_array[j].slice(0,5) == 'msgid') {
var source_text = po_array[j].slice(5);
} else if (po_array[j].slice(0,6) == 'msgstr') {
var translate_text = po_array[j].slice(6);
// if a line is not == English, it means there is translation. Keep this file.
if (source_text != translate_text) {
// erase email addresses of last translator for privacy
po_file = po_file.replace(/ <.+@.+\..+>/, '')
fs.writeFileSync(path.join(__dirname, 'po/' + files[i]), po_file);
// split the file into 3 parts, before locale, locale, and after locale.
var lang_pos = po_file.search('"Language: ') + 11;
var po_start = po_file.slice(0,lang_pos);
var po_locale = po_file.slice(lang_pos,lang_pos + 5);
var po_end = po_file.slice(lang_pos + 5);
// check for underscore, if it's there, only take the first 2 letters and reconstruct the po file.
if (po_locale.search('_') > 0) {
fs.writeFileSync(path.join(__dirname, 'po/' + files[i]), po_start + po_locale.slice(0,2) + po_end);
po_start = '';
po_locale = '';
po_end = '';
};
break;
};
};
if (j == po_array.length - 1) { // All strings are exactly identical to English. Delete po file.
fs.unlinkSync(path.join(__dirname, 'po/' + files[i]));
};
};
};
};
console.log('Cleaned out completely untranslated po files.');
});
});
});
}).on('error', function(e) {
console.log('Export Got error: ' + e.message);
});
} else { // Reminder: Any changes to the script below must also be made to the above and vice versa.
// Download most recent translations for all languages.
https.get('https://api.crowdin.com/api/project/' + crowdin_identifier + '/download/all.zip?key=' + crowdin_api_key, function(res) {
var data = [], dataLen = 0;
res.on('data', function(chunk) {
data.push(chunk);
dataLen += chunk.length;
}).on('end', function() {
var buf = new Buffer(dataLen);
for (var i=0, len = data.length, pos = 0; i < len; i++) {
data[i].copy(buf, pos);
pos += data[i].length;
};
var zip = new AdmZip(buf);
zip.extractAllTo('./', true);
console.log('Done extracting ZIP file.');
var files = fs.readdirSync('./docs');
for (var i in files) {
if (files[i].slice(0,9) == 'appstore_' && files[i].slice(-4) == '.txt' && files[i] != 'appstore_en.txt') {
var english_file = fs.readFileSync(local_file_name2, 'utf8');
var compare_file = fs.readFileSync(path.join(__dirname, 'docs/' + files[i]), 'utf8')
english_file = english_file.replace(/\r\n/g, '\n');
compare_file = compare_file.replace(/\r\n/g, '\n');
if (compare_file == english_file) {
fs.unlinkSync(path.join(__dirname, 'docs/' + files[i]));
};
};
if (files[i].slice(0,11) == 'updateinfo_' && files[i].slice(-4) == '.txt' && files[i] != 'updateinfo_en.txt') {
var english_file = fs.readFileSync(local_file_name3, 'utf8');
var compare_file = fs.readFileSync(path.join(__dirname, 'docs/' + files[i]), 'utf8')
english_file = english_file.replace(/\r\n/g, '\n');
compare_file = compare_file.replace(/\r\n/g, '\n');
if (compare_file == english_file) {
fs.unlinkSync(path.join(__dirname, 'docs/' + files[i]));
};
};
};
console.log('Cleaned out completely untranslated appstore docs.');
var files = fs.readdirSync('./po');
for (var i in files) {
if (files[i] != 'template.pot') {
var po_file = fs.readFileSync(path.join(__dirname, 'po/' + files[i]), 'utf8');
var po_array = po_file.split('\n');
for (var j in po_array) {
if (po_array[j].slice(0,5) == 'msgid') {
var source_text = po_array[j].slice(5);
} else if (po_array[j].slice(0,6) == 'msgstr') {
var translate_text = po_array[j].slice(6);
// if a line is not == English, it means there is translation. Keep this file.
if (source_text != translate_text) {
// erase email addresses of last translator for privacy
po_file = po_file.replace(/ <.+@.+\..+>/, '')
fs.writeFileSync(path.join(__dirname, 'po/' + files[i]), po_file);
// split the file into 3 parts, before locale, locale, and after locale.
var lang_pos = po_file.search('"Language: ') + 11;
var po_start = po_file.slice(0,lang_pos);
var po_locale = po_file.slice(lang_pos,lang_pos + 5);
var po_end = po_file.slice(lang_pos + 5);
// check for underscore, if it's there, only take the first 2 letters and reconstruct the po file.
if (po_locale.search('_') > 0) {
fs.writeFileSync(path.join(__dirname, 'po/' + files[i]), po_start + po_locale.slice(0,2) + po_end);
po_start = '';
po_locale = '';
po_end = '';
};
break;
};
};
if (j == po_array.length - 1) { // All strings are exactly identical to English. Delete po file.
fs.unlinkSync(path.join(__dirname, 'po/' + files[i]));
};
};
};
};
console.log('Cleaned out completely untranslated po files.');
});
});
};

View File

@ -1,67 +0,0 @@
#!/usr/bin/env node
'use strict';
var fs = require('fs');
var path = require('path');
var https = require('https');
var bhttp = require('bhttp');
var crowdin_identifier = 'copay'
var local_file_name1 = path.join(__dirname, 'po/template.pot')
// Similar to Github, normalize all line breaks to CRLF so that different people
// using different OSes to update does not constantly swith format back and forth.
var local_file1_text = fs.readFileSync(local_file_name1, 'utf8');
local_file1_text = local_file1_text.replace(/\r\n/g, '\n');
local_file1_text = local_file1_text.replace(/\n/g, '\r\n');
fs.writeFileSync(local_file_name1, local_file1_text);
var local_file1 = fs.createReadStream(local_file_name1)
var local_file_name2 = path.join(__dirname, 'docs/appstore_en.txt')
var local_file2_text = fs.readFileSync(local_file_name2, 'utf8');
local_file2_text = local_file2_text.replace(/\r\n/g, '\n');
local_file2_text = local_file2_text.replace(/\n/g, '\r\n');
fs.writeFileSync(local_file_name2, local_file2_text);
var local_file2 = fs.createReadStream(local_file_name2)
var local_file_name3 = path.join(__dirname, 'docs/updateinfo_en.txt')
var local_file3_text = fs.readFileSync(local_file_name3, 'utf8');
local_file3_text = local_file3_text.replace(/\r\n/g, '\n');
local_file3_text = local_file3_text.replace(/\n/g, '\r\n');
fs.writeFileSync(local_file_name3, local_file3_text);
var local_file3 = fs.createReadStream(local_file_name3)
// obtain the crowdin api key
var crowdin_api_key = fs.readFileSync(path.join(__dirname, 'crowdin_api_key.txt'))
//console.log('api key: ' + crowdin_api_key);
if (crowdin_api_key != '') {
var payload = {
'files[template.pot]': local_file1,
'files[appstore/appstore_en.txt]': local_file2,
'files[appstore/updateinfo_en.txt]': local_file3
};
bhttp.post('https://api.crowdin.com/api/project/' + crowdin_identifier + '/update-file?key=' + crowdin_api_key, payload, {}, function(err, response) {
if (!err) console.log('\nResponse from update file call:\n', response.body.toString());
else console.log('\nError from update file call:\n', err.toString());
// This call will tell the server to generate a new zip file for you based on most recent translations.
https.get('https://api.crowdin.com/api/project/' + crowdin_identifier + '/export?key=' + crowdin_api_key, function(res) {
console.log('Export Got response: ' + res.statusCode);
res.on('data', function(chunk) {
console.log(chunk.toString('utf8'));
});
}).on('error', function(e) {
console.log('Export Got error: ' + e.message);
});
})
};

View File

@ -1,23 +0,0 @@
Sichere Bitcoins zu eigenen Bedingungen, mit einem quelloffenen Gemeinschaftswallet (elektronische Brieftasche mit Mehrfachunterschriften) von BitPay.
Copay Nutzer können ihre Beträge individuell speichern oder ihre Finanzen mit anderen Nutzern in Gemeinschaftswallets teilen, die je nach Einstellung mehrere Bestätigungen (elektronische Unterschriften) benötigen und so nichtautorisierte Zahlungen verhindern. Ein paar Einsatzmöglichkeiten, wie ein solches Wallet mit anderen Copayern genutzt werden kann:
Ansparen von Beträgen für Urlaub oder gemeinsame Anschaffungen (z.B. mit Freunden)
Überwachung von Ausgaben und Einkünften der Familie.
Organisation der Ausgaben in Firmen, Vereinen oder Organisationen.
Folgende Funktionen wurden in diese Version von Copay eingebaut um ein Bitcoin Wallet anzubieten, das keine Kompromisse in Sicherheit oder Zugänglichkeit eingeht:
Anlage und Verwaltung von mehreren Wallets innerhalb der Anwendung
Intiutive mehrfachunterschriften Sicherheit für persönliche und geteilete Wallets
Einfache Ausgabenvorschläge für geteilte Walltes und Gruppenzahlungen
Hierarchische deterministische(HD) Adresserzeugung und Sicherung der Wallets
Gerätebasierte Sicherheit: Alle privaten Schlüssel werden auf dem Gerät und nicht in der Cloud gespreichert
Unterstützung von Bitcoin Testnet Wallets
Gleichzeitiger Zugriff über alle wichtigen mobilen Systeme und Desktop-Plattformen
Zahlungsprotokoll (BIP70-BIP73) Unterstützung: Leicht identifizierbare Zahlungsanforderungen und nachvollziehbare sichere Bitcoinzahlungen.
Unterstützung von 150+ verschiedenen Währungen und Stückelung in BTC oder bits
E-Mail Benachrichtigung für Zahlungen und Transaktionen
Anpasspare Wallets: Eigene Namen und Hintergrundfarben
Unterstützung von 9 Sprachen (EN, CS, FR, DE, IT, ES, JA, PL, RU)
Copay ist eine kostenlose und quelloffene Software, die auf nicht firmeneigenen Servern läuft und es somit nicht nötig ist, sich auf ein bestimmtes Unternehmen und dessen kontinuierliche Unterstützung zu verlassen. Jeder hat die Möglichkeit den Quelltext zu überprüfen oder auf GitHub (https://github.com/bitpay/copay) eigene Änderungen beizutragen und an der Weiterentwicklung mitzuwirken.

View File

@ -1,23 +0,0 @@
Secure bitcoin on your own terms with an open source, multisignature wallet from BitPay.
Copay users can hold funds individually or share finances securely with other users with multisignature wallets, which prevent unauthorized payments by requiring multiple approvals. Here are some ways Copay can be used with others:
To save for vacations or joint purchases with friends
To track family spending and allowances
To manage business, club, or organization funds and expenses
We built the following features into this version of Copay for a bitcoin wallet that doesn't compromise on security or accessibility:
Multiple wallet creation and management in-app
Intuitive multisignature security for personal or shared wallets
Easy spending proposal flow for shared wallets and group payments
Hierarchical deterministic (HD) address generation and wallet backups
Device-based security: all private keys are stored locally, not in the cloud
Support for Bitcoin testnet wallets
Synchronous access across all major mobile and desktop platforms
Payment protocol (BIP70-BIP73) support: easily-identifiable payment requests and verifiably secure bitcoin payments
Support for 150+ currency pricing options and unit denomination in BTC or bits
Email notifications for payments and transfers
Customizable wallet naming and background colors
9 supported languages (EN, CS, FR, DE, IT, ES, JA, PL, RU)
Copay is free and open source software run on non-proprietary servers, so there's no need to rely on any company for continuous support. Anyone can review or contribute to Copay's source code on GitHub (https://github.com/bitpay/copay).

View File

@ -1,23 +0,0 @@
Asegura tus bitcoin con tus propias reglas con el monedero de código abierto, multifirma de BitPay.
Los usuario de Copay pueden mantener sus fondos individuales o compartir sus finanzas de forma segura con otros usuarios utilizando monederos multifirmas, que previenen de pagos sin autorización al requerir múltiples aprobaciones. Estas son algunas formas en que puede ser utilizado Copay con otros usuarios:
Ahorrar para vacaciones o compras conjuntas con amigos
Controlar los gastos familiares
Manejar los fondos y gastos de negocios, clubes y organizaciones.
Construimos las siguientes características en esta versión de Copay que no compromete la seguridad ni la accesibilidad:
Creación y manejo de múltiples monederos dentro de la misma aplicación
Seguridad multifirma intuitiva para monederos personales y compartidos
Sencillo flujo de propuesta de gastos para monederos compartidos y grupos de pagos
Generación de direcciones HD (Hierarchical deterministic) y copias de seguridad
Seguridad basada en el dispositivo: todas las claves privadas se guardan localmente, no en la nube
Soporta monederos bitcoin en testnet
Acceso sincrónico desde las principales plataformas móviles y de escritorio
Soporte al protocolo de pago (BIP70-BIP73): solicitudes de pagos fácilmente identificable y verificables como pago seguro en bitcoin
Soporte a más de 150 precios de monedas y unidades de denominación en BTC o bits
Notificaciones por email de pagos y transferencias
Monederos con nombres y colores de fondo personalizables
Soporte en 9 idiomas (EN, CS, FR, DE, IT, ES, JA, PL, RU)
Copay es un software gratuito y de código abierto que funciona en servidores no-propietarios, por lo que no es necesario confiar en una empresa para soporte continuo. Cualquier persona puede revisar y contribuir al código fuente de Copay en GitHub (https://github.com/bitpay/copay).

View File

@ -1,23 +0,0 @@
Sécurisez vos bitcoins selon vos conditions avec un portefeuille open source et multi-signatures par BitPay.
Les utilisateurs de Copay peuvent détenir leurs fonds de manière individuelle, ou partager leurs finances de manière sécurisée avec les autres utilisateurs en utilisant des portefeuilles multi-signatures, ce qui empêche les paiements non autorisés en exigeant des approbations multiples. Voici quelques exemples d'utilisation que vous pouvez avoir avec Copay et avec d'autres utilisateurs :
• Économiser pour des vacances ou partager des frais avec des amis.
• Suivre des dépenses et remboursements familiaux.
• Gérer des fonds et des dépenses pour une entreprise, un club ou une organisation.
Nous avons développé les fonctionnalités suivantes dans cette version de Copay pour un portefeuille bitcoin qui ne fait pas de compromis sur la sécurité ou sur l'accessibilité :
• Création et gestion de portefeuilles multiples.
• Sécurité de multi-signatures intuitive pour les portefeuilles personnels ou partagés.
• Demande de paiement facile pour les portefeuilles partagés et pour les paiements de groupe.
• Génération d'adresse déterministe hiérarchique (HD) et sauvegardes de portefeuilles.
• Sécurité basée sur l'appareil : toutes les clés privées sont stockées localement, pas dans le cloud.
• Prise en charge des portefeuilles bitcoin testnet.
• Accès synchrone sur toutes les principales plateformes mobiles et de bureau.
• Prise en charge de Payment protocol (BIP70-BIP73) : demandes de paiement facilement identifiables et paiements bitcoins sécurisés et vérifiables.
• Prise en charge de plus de 150 devises et dénomination d'unité en BTC ou en bits.
• Notifications e-mail pour les paiements et les transferts.
• Nom de portefeuille et couleurs de fond personnalisables.
• 9 langues prises en charge (EN, CS, FR, DE, IT, ES, JA, PL, RU)
Copay est un logiciel gratuit et open source qui tourne sur des serveurs non-propriétaires, il n'y a donc pas besoin de compter sur une entreprise pour un support continuel. N'importe qui peut examiner ou contribuer au code source de Copay sur GitHub (https://github.com/bitpay/copay).

View File

@ -1,23 +0,0 @@
Metti al sicuro i tuoi bitcoins, alle tue condizioni, con un portafoglio open source e multifirma realizzato da BitPay.
Gli utenti Copay possono gestire i propri fondi individualmente, o condividerli in maniera sicura con altri utenti grazie ai portafogli multifirma, che prevengono pagamenti non autorizzati richiedendo più approvazioni. Ecco alcuni modi per utilizzare Copay con altre persone:
Per rismarmiare soldi per le vacanze o per acquisti congiunti con gli amici
Per tenere traccia di spese familiari o indennità
Per gestire i fondi e le spese di aziende, club, or organizzazioni
In questa versione di Copay abbiamo realizzato le seguenti funzioni per un portafoglio bitcoin che non comprometta sicurezza o accessibilità:
Creazione e gestione integrata di portafogli multipli
Sicurezza multifirma intuitiva per portafogli personali o condivisi
Proposte di pagamento facili da iniziare per portafogli condivisi e pagamenti di gruppo
Generazione di portafogli gerarchici deterministici (HD) e funzionalità di backup
Sicurezza integrata nel dispositivo: tutte le chiave private sono memorizzate localmente, non nel cloud
Supporto per portafogli della testnet Bitcoin
Accesso sincrono in tutte le piattaforme mobile e desktop
Supporto per il protocollo di pagamento (BIP70-BIP73): richieste di pagamento facilmente identificabili e pagamenti bitcoin sicuri e verificabili
Supporto per 150+ valute e denominazione in BTC o bits
Notifiche email per pagamenti o trasferimenti
Colori di sfondo e nomi dei portafogli personalizzabli
9 lingue supportate (EN, CS, FR, DE, IT, ES, JA, PL, RU)
Copay è un software gratuito e open source che non dipende da server proprietari, pertanto il supporto del software non dipende da nessuna azienda. Chiunque può rivedere o contribuire al codice sorgente di Copay su GitHub (https://github.com/bitpay/copay).

View File

@ -1,23 +0,0 @@
ビットコインにおける高度なセキュリティーを手軽に扱えるオープンソースマルチシグネチャウォレットです。
Copayは個人のご利用はもちろんのこと、複数人によるウォレット管理の権限分散も簡単なウォレットソフトを通してご活用いただけます。 例えば:
友達との旅行や買い物のために透明性抜群の環境で貯蓄したい時
家族のお小遣いや日常の家計簿管理がしたい時
ビジネス・クラブ・団体の資金や財産管理を透明な管理分散がしたい時
下記の機能でセキュリティーも利便性も妥協しない最高のウォレットをCopayでご提供させていただきました
■ 複数のウォレットの作成・管理がアプリ内で管理可能
■ マルチシグネチャのウォレット分散管理でも個人ウォレットでも使いやすさ抜群
■ 送金の提案・承認・却下の流れが非常に直感的で分散管理が簡単
■ 階級的決定性ウォレット(HDウォレット)でアドレス生成とバックアップ管理をしているためバックアップは永久に各参加者1回ずつのみ
■ 端末に依存するセキュリティー、秘密鍵が全て端末に保管され、サーバに送ることは無い
■ ビットコインの開発テスト用ネットワークにも対応
■ メジャーなプラットフォーム全てに対応 (Windows, Mac, Linux, Android, iPhone, Windows Phone)
■ ペイメントプロトコルにも対応(BIP 70-73)、暗号通信と証明書を使ったマーチャントとの安全なペイメントの実現
■ 世界中の150個以上の通貨の表示に対応、自国通貨との為替レートを計算する必要なし。ビットコインの単位も BTC と bits にも対応
■ ペイメントや提案のメール通知も可能
■ ウォレットごとの背景色設定や通称設定も可能でカスタマイズ性抜群
■ 9ヶ国語対応 (英日仏西伊独捷葡露)
Copayは永久無料でオープンソースのソフトです。サーバーもオープンソースなので、独自運用や法人の利用やソース流用は許可します。 ソースをご覧の際に間違いなどが見つかった場合、Githubにてご報告・ソース修正のプルリクエストなどをお願いします。(https://github.com/bitpay/copay)

View File

@ -1,23 +0,0 @@
Bezpieczne bitcoiny na twoich własnych warunkach, z elektronicznym portfelem open source z multipodpisami od BitPay.
Użytkownicy Copay mogą posiadać fundusze indywidualnie lub bezpiecznie dzielić je z innymi użytkownikami w portfelach z multipodpisami, które uniemożliwiają nieautoryzowane płatności wymagając wielu potwierdzeń. Oto kilka sposobów, jak portfele Copay mogą być używane w połączeniu z innymi użytkownikami:
Oszczędzanie na wakacje lub wspólne zakupy z przyjaciółmi
Monitorowanie wydatków i dochodów rodzinnych
Zarządzanie wydatkami firm, klubów lub organizacji
Stworzyliśmy następujące funkcje portfela bitcoin w tej wersji Copay, które nie zagrażają bezpieczeństwu lub dostępności:
Tworzenie i zarządzanie wieloma portfelami w aplikacji
Intuicyjne bezpieczeństwo dzięki multipodpisom dla portfeli prywatnych i współdzielonych
Proste zlecenia płatności dla współdzielonych portfeli i płatności grupowych
Protokół HD (Hierarchical deterministic) do generowania adresów i kopii zapasowych portfela
Zabezpieczenia: wszystkie klucze prywatne przechowywane lokalnie, a nie w chmurze
Wsparcie dla Bitcoin testnet wallets
Jednoczesny dostęp ze wszystkich głównych platform mobilnych i stacjonarnych
Wsparcie protokołów płatności (BIP70-BIP73): łatwe do zidentyfikowania wnioski o płatność i bezpieczne, weryfikowalne płatności bitcoin
Wsparcie dla wyświetlania ponad 150 walut w jednostkach BTC lub bit
Powiadomienia o płatnościach i transferach za pośrednictwem poczty elektronicznej
Konfigurowanie nazwy i koloru tła portfela
9 obsługiwanych języków (EN, CS, FR, DE, IT, ES, JA, PL, RU)
Copay jest bezpłatnym oprogramowaniem open source, które działa na niezastrzeżonych serwerach, nie jest zatem konieczne, aby opierać się na konkretnej firmie w celu jego dalszego wsparcia. Każdy ma możliwość sprawdzenia kodu źródłowego i zgłoszenia propozycji zmian w Copay na GitHub (https://github.com/bitpay/copay).

View File

@ -1,23 +0,0 @@
Armazene bitcoin com seus próprios termos com uma carteira de multi-assinaturas, open source, do BitPay.
Usuários Copay podem manter fundos individualmente ou compartilhar finanças seguramente com outros usuários por meio de carteiras multi-assinadas, que previnem pagamentos não autorizados por meio de múltiplas aprovações. Algumas formas que a Copay pode ser usada com outros:
Para economizar para férias ou juntar compras com amigos
Para rastrear despesas familiares e descontos
Para gerenciar negócios, clube ou organizar saldos e despesas
Nós construímos as seguintes funcionalidades nesta versão da Copay para uma carteira bitcoin que não comprometa segurança ou acessibilidade:
Criação de múltiplas carteiras com gerenciamento no aplicativo
Segurança de multi-assinaturas intuitiva para carteiras pessoais ou compartilhadas
Fácil fluxo de propostas de gastos para carteiras compartilhadas e pagamentos agrupados
Geração de endereço Hierarchical deterministic (HD) e backups de carteiras
Segurança baseada em dispositivo: todas as chaves privadas são armazenadas localmente e não na nuvem
Suporte para carteiras de testes na Bitcoin testnet
Acesso síncrono entre todas as principais plataformas móveis e desktops
Suporte a protocolo de pagamento (BIP70-BIP73): solicitações de pagamento facilmente identificadas e pagamentos seguros em bitcoins verificáveis
Suporte para mais de 150 opções de moedas e denominação de unidades em BTC ou bits
Notificações por e-mail para pagamentos e transferências
Nomes e cores de fundo customizáveis para carteiras
9 idiomas suportados (EN, CS, FR, DE, IT, ES, JA, PL, RU)
Copay é gratuito e um software livre rodando em servidores não-proprietários, que não precisa de nenhuma empresa para o suporte contínuo. Qualquer um pode revisar ou contribuir para o código-fonte da Copay no GitHub (https://github.com/bitpay/copay).

View File

@ -1,23 +0,0 @@
Обезопасьте биткойны на своих условиях кошельком от BitPay с открытым исходным кодом и мультиподписью.
Пользователи Copay могут хранить средства самостоятельно или безопасно управлять средствами совместно с помощью кошельков с мультиподписью, которые предотвращают несанкционированный платежи, требуя несколько одобрений. Вот некоторые способы того, как Copay может быть использован совместно:
Накопить на отпуск или совершать покупки вместе с друзьями
Отслеживать семейные траты и карманные деньги
Управлять средствами и расходами бизнеса, клуба, или организации
Мы встроили следующие функции в эту версию Copay - биткойн-кошелька, который не идёт на компромиссы в отношении безопасности или доступности:
Создание и управление множеством кошельков внутри приложения
Интуитивно-понятная реализация мультиподписи, для большей безопасности личных или совместных кошельков
Легкий процесс трат в совместных кошельках и для групповых платежей
Иерархически-детерминированная (HD) генерация адресов и бэкакоп кошельков
Безопасность на основе устройств: все закрытые ключи хранятся локально, а не в облаке
Поддержка кошельков Bitcoin testnet
Синхронный доступ со всех основных мобильных и настольных платформ
Поддержка платежных протоколов (BIP70-BIP73): легко идентифицируемые платежные запросы и проверяемо-безопасные биткойн-платежи
Поддержка отображения баланса в более чем 150 валютах, а так же поддержка деноминирования в BTC или bits
Уведомления о платежах и переводах по email
Настраиваемые названия и фоновые цвета кошельков
9 поддерживаемых языков (EN, CS, FR, DE, IT, ES, JA, PL, RU)
Copay бесплатен и является программным обеспечением с открытым исходным кодом, запускаемым на не-проприетарных серверах, поэтому нет необходимости полагаться на какую-либо компанию и её постоянную поддержку. Любой может просмотреть и сделать предложение по изменению исходного кода Copay на GitHub (https://github.com/bitpay/copay).

View File

@ -1,23 +0,0 @@
采用 BitPay 开放源码的多重签名钱包,根据自己的条件保管比特币。
Copay 户可以单独保管资金或与通过使用多重签名钱包与其他用户一起安全共同保管财政,由于需要多个用户批准,因此可防止未经授权的付款。 以下是 Copay 可与其他人共同使用的方法:
与好友为假期旅游而储蓄或一起购物
跟踪家庭开支和津贴
可用来管理商务,团体,或集团的收支
我们在此版本的 Copay 建立以下功能,使 Copay 钱包从不妥协于安全性和可访问性:
应用程序的多个钱包创建和管理
个人或共享钱包的直观多重签名安全
共享钱包和团体支付简单易用
分层确定性HD地址生成和钱包备份
基于设备的安全:所有私钥都存储在本地,而不是在云中
支持 testnet 比特币钱包
支持所有主要移动端和桌面平台的同步访问
支持支付协议BIP70-BIP73容易辨认的付款请求和可验证的安全比特币支付
支持 150 + 货币定价及比特币的面值单位
电子邮件通知比特币的支付和转移
可自定义的钱包名和背景颜色
支持 9 种语言 (EN, CS, FR, DE, IT, ES, JA, PL, RU)
Copay 是自由和开放源码软件,在非专有服务器上运行,因此无需依靠任何公司以提供永续支持。 任何人都可以查看或对位于 GitHub (https://github.com/bitpay/copay) 的 Copay 源代码作出贡献。

View File

@ -1 +0,0 @@

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More