mirror of https://github.com/BTCPrivate/copay.git
Merge pull request #865 from maraoz/feature/force-testnet
Feature: allow to force network from config
This commit is contained in:
commit
b0ff5494e0
|
@ -2,6 +2,7 @@
|
|||
var defaultConfig = {
|
||||
// DEFAULT network (livenet or testnet)
|
||||
networkName: 'livenet',
|
||||
forceNetwork: false,
|
||||
|
||||
// DEFAULT unit: Bit
|
||||
unitName: 'bits',
|
||||
|
@ -124,3 +125,5 @@ var defaultConfig = {
|
|||
disableVideo: true,
|
||||
verbose: 1,
|
||||
};
|
||||
if (typeof module !== 'undefined')
|
||||
module.exports = defaultConfig;
|
||||
|
|
11
index.html
11
index.html
|
@ -849,8 +849,15 @@
|
|||
<div class="small-12 medium-6 medium-centered large-6 large-centered columns">
|
||||
<fieldset>
|
||||
<legend>Bitcoin Network</legend>
|
||||
<input id="network-name" type="checkbox" ng-model="networkName" ng-true-value="livenet" ng-false-value="testnet" class="form-control" ng-click="changeNetwork()">
|
||||
<label for="network-name">Livenet</label>
|
||||
<div ng-if="!forceNetwork">
|
||||
<input id="network-name" type="checkbox" ng-model="networkName"
|
||||
ng-true-value="livenet" ng-false-value="testnet" class="form-control" ng-click="changeNetwork()">
|
||||
<label for="network-name">Livenet</label>
|
||||
</div>
|
||||
<div ng-if="forceNetwork">
|
||||
Network has been fixed to <strong>{{networkName}}</strong> in this setup. See <a href="https://copay.io">copay.io</a>
|
||||
for options to use Copay on both livenet and testnet.
|
||||
</div>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend>Wallet Unit</legend>
|
||||
|
|
|
@ -12,6 +12,7 @@ angular.module('copayApp.controllers').controller('SettingsController',
|
|||
$scope.networkPort = config.network.port;
|
||||
$scope.networkSecure = config.network.secure || false;
|
||||
$scope.disableVideo = typeof config.disableVideo === undefined ? true : config.disableVideo;
|
||||
$scope.forceNetwork = config.forceNetwork;
|
||||
|
||||
$scope.unitOpts = [{
|
||||
name: 'Satoshis (100,000,000 satoshis = 1BTC)',
|
||||
|
|
|
@ -19,6 +19,7 @@ var AddressIndex = require('./AddressIndex');
|
|||
var PublicKeyRing = require('./PublicKeyRing');
|
||||
var TxProposals = require('./TxProposals');
|
||||
var PrivateKey = require('./PrivateKey');
|
||||
var copayConfig = require('../../../config');
|
||||
|
||||
function Wallet(opts) {
|
||||
var self = this;
|
||||
|
@ -33,6 +34,9 @@ function Wallet(opts) {
|
|||
throw new Error('missing required option for Wallet: ' + k);
|
||||
self[k] = opts[k];
|
||||
});
|
||||
if (copayConfig.forceNetwork && opts.networkName !== copayConfig.networkName)
|
||||
throw new Error('Network forced to '+copayConfig.networkName+
|
||||
' and tried to create a Wallet with network '+opts.networkName);
|
||||
|
||||
this.log('creating ' + opts.requiredCopayers + ' of ' + opts.totalCopayers + ' wallet');
|
||||
|
||||
|
|
|
@ -8,6 +8,7 @@ try {
|
|||
} catch (e) {
|
||||
var copay = require('../copay'); //node
|
||||
}
|
||||
var copayConfig = require('../config');
|
||||
var Wallet = require('../js/models/core/Wallet');
|
||||
var Structure = copay.Structure;
|
||||
var Storage = require('./mocks/FakeStorage');
|
||||
|
@ -950,4 +951,14 @@ describe('Wallet model', function() {
|
|||
});
|
||||
});
|
||||
|
||||
describe('#forceNetwork in config', function() {
|
||||
it('should throw if network is different', function() {
|
||||
var backup = copayConfig.forceNetwork;
|
||||
copayConfig.forceNetwork = true;
|
||||
config.networkName = 'livenet';
|
||||
cachedCreateW2.should.throw(Error);
|
||||
copayConfig.forceNetwork = backup;
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
|
|
|
@ -87,6 +87,12 @@ var createBundle = function(opts) {
|
|||
b.require('./js/models/core/Message', {
|
||||
expose: '../js/models/core/Message'
|
||||
});
|
||||
b.require('./config', {
|
||||
expose: '../config'
|
||||
});
|
||||
b.require('./js/models/core/Structure', {
|
||||
expose: '../js/models/core/Structure'
|
||||
});
|
||||
|
||||
if (opts.dontminify) {
|
||||
//include dev dependencies
|
||||
|
|
Loading…
Reference in New Issue