Code Duplication    Length = 54-54 lines in 2 locations

test/wallet.test.js 1 location

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

tools/setup-dev-account.js 1 location

@@ 21-74 (lines=54) @@
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, 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
        function(err, result) {
43
            if (err) {
44
                return cb(err);
45
            }
46
47
            var blocktrailPublicKeys = _.mapValues(result.blocktrail_public_keys, function(blocktrailPublicKey) {
48
                return bitcoin.HDNode.fromBase58(blocktrailPublicKey[0], network);
49
            });
50
51
            var wallet = new blocktrail.Wallet(
52
                client,
53
                identifier,
54
                blocktrail.Wallet.WALLET_VERSION_V1,
55
                primaryMnemonic,
56
                null,
57
                null,
58
                {keyIndex: primaryPublicKey},
59
                backupPublicKey,
60
                blocktrailPublicKeys,
61
                keyIndex,
62
                0,
63
                client.testnet,
64
                checksum
65
            );
66
67
            wallet.unlock({
68
                passphrase: passphrase
69
            }, function(err) {
70
                cb(err, wallet);
71
            });
72
        }
73
    );
74
};
75
76
var createDiscoveryTestWallet = function(identifier, passphrase, cb) {
77
    var primaryMnemonic = "give pause forget seed dance crawl situate hole kingdom";