wallet: fix tests and add compat routes.
This commit is contained in:
parent
1d6bd6dbe4
commit
42da82e007
@ -202,6 +202,26 @@ HTTPServer.prototype.initRouter = function initRouter() {
|
|||||||
res.send(200, req.wallet.master.toJSON(true));
|
res.send(200, req.wallet.master.toJSON(true));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Create wallet (compat)
|
||||||
|
this.post('/', co(function* (req, res) {
|
||||||
|
var valid = req.valid();
|
||||||
|
var wallet;
|
||||||
|
|
||||||
|
wallet = yield this.walletdb.create({
|
||||||
|
id: valid.str('id'),
|
||||||
|
type: valid.str('type'),
|
||||||
|
m: valid.u32('m'),
|
||||||
|
n: valid.u32('n'),
|
||||||
|
passphrase: valid.str('passphrase'),
|
||||||
|
master: valid.str('master'),
|
||||||
|
mnemonic: valid.str('mnemonic'),
|
||||||
|
accountKey: valid.str('accountKey'),
|
||||||
|
watchOnly: valid.bool('watchOnly')
|
||||||
|
});
|
||||||
|
|
||||||
|
res.send(200, wallet.toJSON());
|
||||||
|
}));
|
||||||
|
|
||||||
// Create wallet
|
// Create wallet
|
||||||
this.put('/:id', co(function* (req, res) {
|
this.put('/:id', co(function* (req, res) {
|
||||||
var valid = req.valid();
|
var valid = req.valid();
|
||||||
@ -242,6 +262,32 @@ HTTPServer.prototype.initRouter = function initRouter() {
|
|||||||
res.send(200, account.toJSON());
|
res.send(200, account.toJSON());
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
// Create account (compat)
|
||||||
|
this.post('/:id/account', co(function* (req, res) {
|
||||||
|
var valid = req.valid();
|
||||||
|
var passphrase = valid.str('passphrase');
|
||||||
|
var options, account;
|
||||||
|
|
||||||
|
options = {
|
||||||
|
name: valid.str(['account', 'name']),
|
||||||
|
witness: valid.bool('witness'),
|
||||||
|
watchOnly: valid.bool('watchOnly'),
|
||||||
|
type: valid.str('type'),
|
||||||
|
m: valid.u32('m'),
|
||||||
|
n: valid.u32('n'),
|
||||||
|
lookahead: valid.u32('lookahead')
|
||||||
|
};
|
||||||
|
|
||||||
|
account = yield req.wallet.createAccount(options, passphrase);
|
||||||
|
|
||||||
|
if (!account) {
|
||||||
|
res.send(404);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
res.send(200, account.toJSON());
|
||||||
|
}));
|
||||||
|
|
||||||
// Create account
|
// Create account
|
||||||
this.put('/:id/account/:account', co(function* (req, res) {
|
this.put('/:id/account/:account', co(function* (req, res) {
|
||||||
var valid = req.valid();
|
var valid = req.valid();
|
||||||
|
|||||||
@ -11,6 +11,7 @@ var MTX = require('../lib/primitives/mtx');
|
|||||||
var HTTP = require('../lib/http');
|
var HTTP = require('../lib/http');
|
||||||
var FullNode = require('../lib/node/fullnode');
|
var FullNode = require('../lib/node/fullnode');
|
||||||
var pkg = require('../lib/pkg');
|
var pkg = require('../lib/pkg');
|
||||||
|
var plugin = require('../lib/wallet/plugin');
|
||||||
|
|
||||||
describe('HTTP', function() {
|
describe('HTTP', function() {
|
||||||
var node, wallet, walletdb, addr, hash;
|
var node, wallet, walletdb, addr, hash;
|
||||||
@ -19,9 +20,7 @@ describe('HTTP', function() {
|
|||||||
network: 'regtest',
|
network: 'regtest',
|
||||||
apiKey: 'foo',
|
apiKey: 'foo',
|
||||||
walletAuth: true,
|
walletAuth: true,
|
||||||
db: 'memory',
|
db: 'memory'
|
||||||
loader: require,
|
|
||||||
plugins: ['walletdb']
|
|
||||||
});
|
});
|
||||||
|
|
||||||
wallet = new HTTP.Wallet({
|
wallet = new HTTP.Wallet({
|
||||||
@ -29,7 +28,7 @@ describe('HTTP', function() {
|
|||||||
apiKey: 'foo'
|
apiKey: 'foo'
|
||||||
});
|
});
|
||||||
|
|
||||||
walletdb = node.require('walletdb');
|
walletdb = node.use(plugin);
|
||||||
|
|
||||||
node.on('error', function() {});
|
node.on('error', function() {});
|
||||||
|
|
||||||
|
|||||||
@ -8,17 +8,16 @@ var Coin = require('../lib/primitives/coin');
|
|||||||
var Script = require('../lib/script/script');
|
var Script = require('../lib/script/script');
|
||||||
var FullNode = require('../lib/node/fullnode');
|
var FullNode = require('../lib/node/fullnode');
|
||||||
var MTX = require('../lib/primitives/mtx');
|
var MTX = require('../lib/primitives/mtx');
|
||||||
|
var plugin = require('../lib/wallet/plugin');
|
||||||
|
|
||||||
describe('Node', function() {
|
describe('Node', function() {
|
||||||
var node = new FullNode({
|
var node = new FullNode({
|
||||||
db: 'memory',
|
db: 'memory',
|
||||||
apiKey: 'foo',
|
apiKey: 'foo',
|
||||||
network: 'regtest',
|
network: 'regtest'
|
||||||
loader: require,
|
|
||||||
plugins: ['../lib/wallet/plugin']
|
|
||||||
});
|
});
|
||||||
var chain = node.chain;
|
var chain = node.chain;
|
||||||
var walletdb = node.require('walletdb');
|
var walletdb = node.use(plugin);
|
||||||
var miner = node.miner;
|
var miner = node.miner;
|
||||||
var wallet, tip1, tip2, cb1, cb2, mineBlock;
|
var wallet, tip1, tip2, cb1, cb2, mineBlock;
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user