Skip to content

Commit 363ef03

Browse files
manavdesai27masterchief164
authored andcommitted
feat: add checkKeyFilter
1 parent 260e979 commit 363ef03

File tree

6 files changed

+50
-1
lines changed

6 files changed

+50
-1
lines changed

lib/client/node.js

+4
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,10 @@ class NodeClient extends Client {
169169
return this.get(`/filter/${filter}`);
170170
}
171171

172+
checkKeyFilter(key, filter) {
173+
return this.call('check key filter', key, filter);
174+
}
175+
172176
/**
173177
* Add a transaction to the mempool and broadcast it.
174178
* @param {TX} tx

lib/node/http.js

+7
Original file line numberDiff line numberDiff line change
@@ -498,6 +498,13 @@ class HTTP extends Server {
498498
return null;
499499
});
500500

501+
socket.hook('check key filter', (...args) => {
502+
const valid = new Validator(args);
503+
const key = valid.buf(0);
504+
const filter = valid.buf(1);
505+
return this.pool.checkKeyFilter(key, filter);
506+
});
507+
501508
socket.hook('estimate fee', (...args) => {
502509
const valid = new Validator(args);
503510
const blocks = valid.u32(0);

lib/wallet/client.js

+13
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ const NodeClient = require('../client/node');
1212
const util = require('../utils/util');
1313
const TX = require('../primitives/tx');
1414
const hash256 = require('bcrypto/lib/hash256');
15+
const WalletKey = require('./walletkey');
16+
const Filter = require('../primitives/filter');
1517

1618
const parsers = {
1719
'block connect': (entry, txs) => parseBlock(entry, txs),
@@ -71,6 +73,17 @@ class WalletClient extends NodeClient {
7173
return super.setFilter(filter.toRaw());
7274
}
7375

76+
/**
77+
* Check filter against wallet key ring
78+
* @param {WalletKey} ring
79+
* @param {Filter} filter
80+
* @returns {Promise}
81+
*/
82+
83+
async checkKeyFilter(ring, filter) {
84+
return super.checkKeyFilter(ring, filter);
85+
}
86+
7487
async rescan(start) {
7588
if (Buffer.isBuffer(start))
7689
start = util.revHex(start);

lib/wallet/index.js

-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212

1313
exports.Account = require('./account');
1414
exports.Client = require('./client');
15-
exports.NeutrinoClient = require('./neutrinoclient');
1615
exports.common = require('./common');
1716
exports.HTTP = require('./http');
1817
exports.layout = require('./layout');

lib/wallet/nodeclient.js

+13
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88

99
const assert = require('bsert');
1010
const AsyncEmitter = require('bevent');
11+
const WalletKey = require('./walletkey');
12+
const Filter = require('../primitives/filter');
1113

1214
/**
1315
* Node Client
@@ -174,6 +176,17 @@ class NodeClient extends AsyncEmitter {
174176
this.node.pool.queueFilterLoad();
175177
}
176178

179+
/**
180+
* Check filter against wallet key ring
181+
* @param {WalletKey} ring
182+
* @param {Filter} filter
183+
* @returns {Promise}
184+
*/
185+
186+
async checkKeyFilter(ring, filter) {
187+
this.node.pool.checkKeyFilter(ring, filter);
188+
}
189+
177190
/**
178191
* Estimate smart fee.
179192
* @param {Number?} blocks

lib/wallet/nullclient.js

+13
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88

99
const assert = require('bsert');
1010
const EventEmitter = require('events');
11+
const WalletKey = require('./walletkey');
12+
const Filter = require('../primitives/filter');
1113

1214
/**
1315
* Null Client
@@ -130,6 +132,17 @@ class NullClient extends EventEmitter {
130132
this.wdb.emit('reset filter');
131133
}
132134

135+
/**
136+
* Check filter against wallet key ring
137+
* @param {WalletKey} ring
138+
* @param {Filter} filter
139+
* @returns {Promise}
140+
*/
141+
142+
async checkKeyFilter(ring, filter) {
143+
;
144+
}
145+
133146
/**
134147
* Esimate smart fee.
135148
* @param {Number?} blocks

0 commit comments

Comments
 (0)