Code Duplication    Length = 52-53 lines in 2 locations

test/wallet.test.js 1 location

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

tools/setup-dev-account.js 1 location

@@ 21-72 (lines=52) @@
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.segwit || 0,
60
            client.testnet,
61
            checksum
62
        );
63
64
        wallet.unlock({
65
            passphrase: passphrase
66
        }, function(err) {
67
            cb(err, wallet);
68
        });
69
    }, function(err) {
70
        cb(err);
71
    });
72
};
73
74
var createDiscoveryTestWallet = function(identifier, passphrase, cb) {
75
    var primaryMnemonic = "give pause forget seed dance crawl situate hole kingdom";