Code Duplication    Length = 53-54 lines in 2 locations

test/wallet.test.js 1 location

@@ 27-80 (lines=54) @@
24
    TRANSACTION_TEST_WALLET_BACKUP_MNEMONIC = "give pause forget seed dance crawl situate hole give",
25
    TRANSACTION_TEST_WALLET_PASSWORD = "password";
26
27
var _createTestWallet = function(identifier, passphrase, primaryMnemonic, backupMnemonic, segwit, cb) {
28
    var keyIndex = 9999;
29
    var network = client.testnet ? bitcoin.networks.testnet : bitcoin.networks.bitcoin;
30
31
    var primarySeed = bip39.mnemonicToSeed(primaryMnemonic, passphrase);
32
    var primaryPrivateKey = bitcoin.HDNode.fromSeedBuffer(primarySeed, network);
33
34
    var backupSeed = bip39.mnemonicToSeed(backupMnemonic, "");
35
    var backupPrivateKey = bitcoin.HDNode.fromSeedBuffer(backupSeed, network);
36
    var backupPublicKey = backupPrivateKey.neutered();
37
38
    var checksum = primaryPrivateKey.getAddress();
39
    var primaryPublicKey = primaryPrivateKey.deriveHardened(keyIndex).neutered();
40
41
    client.storeNewWalletV1(
42
        identifier,
43
        [primaryPublicKey.toBase58(), "M/" + keyIndex + "'"],
44
        [backupPublicKey.toBase58(), "M"],
45
        primaryMnemonic,
46
        checksum,
47
        keyIndex,
48
        segwit
49
    ).then(function(result) {
50
        var blocktrailPublicKeys = _.mapValues(result.blocktrail_public_keys, function(blocktrailPublicKey) {
51
            return bitcoin.HDNode.fromBase58(blocktrailPublicKey[0], network);
52
        });
53
54
        var wallet = new blocktrail.Wallet(
55
            client,
56
            identifier,
57
            blocktrail.Wallet.WALLET_VERSION_V1,
58
            primaryMnemonic,
59
            null,
60
            null,
61
            {keyIndex: primaryPublicKey},
62
            backupPublicKey,
63
            blocktrailPublicKeys,
64
            keyIndex,
65
            result.chain || 0,
66
            result.segwit || 0,
67
            client.testnet,
68
            checksum
69
        );
70
71
        wallet.unlock({
72
            passphrase: passphrase
73
        }, function(err) {
74
            cb(err, wallet);
75
        });
76
77
    }, function(err) {
78
        return cb(err);
79
    });
80
};
81
82
var createDiscoveryTestWallet = function(identifier, passphrase, cb) {
83
    var primaryMnemonic = "give pause forget seed dance crawl situate hole kingdom";

tools/setup-dev-account.js 1 location

@@ 21-73 (lines=53) @@
18
    TRANSACTION_TEST_WALLET_BACKUP_MNEMONIC = "give pause forget seed dance crawl situate hole give",
19
    TRANSACTION_TEST_WALLET_PASSWORD = "password";
20
21
var _createTestWallet = function(identifier, passphrase, primaryMnemonic, backupMnemonic, segwit, cb) {
22
    var keyIndex = 9999;
23
    var network = client.testnet ? bitcoin.networks.testnet : bitcoin.networks.bitcoin;
24
25
    var primarySeed = bip39.mnemonicToSeed(primaryMnemonic, passphrase);
26
    var primaryPrivateKey = bitcoin.HDNode.fromSeedBuffer(primarySeed, network);
27
28
    var backupSeed = bip39.mnemonicToSeed(backupMnemonic, "");
29
    var backupPrivateKey = bitcoin.HDNode.fromSeedBuffer(backupSeed, network);
30
    var backupPublicKey = backupPrivateKey.neutered();
31
32
    var checksum = primaryPrivateKey.getAddress();
33
    var primaryPublicKey = primaryPrivateKey.deriveHardened(keyIndex).neutered();
34
35
    client.storeNewWalletV1(
36
        identifier,
37
        [primaryPublicKey.toBase58(), "M/" + keyIndex + "'"],
38
        [backupPublicKey.toBase58(), "M"],
39
        primaryMnemonic,
40
        checksum,
41
        keyIndex,
42
        segwit
43
    ).then(function(result) {
44
        var blocktrailPublicKeys = _.mapValues(result.blocktrail_public_keys, function(blocktrailPublicKey) {
45
            return bitcoin.HDNode.fromBase58(blocktrailPublicKey[0], network);
46
        });
47
48
        var wallet = new blocktrail.Wallet(
49
            client,
50
            identifier,
51
            blocktrail.Wallet.WALLET_VERSION_V1,
52
            primaryMnemonic,
53
            null,
54
            null,
55
            {keyIndex: primaryPublicKey},
56
            backupPublicKey,
57
            blocktrailPublicKeys,
58
            keyIndex,
59
            result.chain || 0,
60
            result.segwit || 0,
61
            client.testnet,
62
            checksum
63
        );
64
65
        wallet.unlock({
66
            passphrase: passphrase
67
        }, function(err) {
68
            cb(err, wallet);
69
        });
70
    }, function(err) {
71
        cb(err);
72
    });
73
};
74
75
var createDiscoveryTestWallet = function(identifier, passphrase, cb) {
76
    var primaryMnemonic = "give pause forget seed dance crawl situate hole kingdom";