🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more →

rpc-bitcoin

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

rpc-bitcoin - npm Package Compare versions

Comparing version

to
1.5.0

{
"name": "rpc-bitcoin",
"version": "1.4.0",
"version": "1.5.0",
"description": "A TypeScript library to make RPC and HTTP REST requests to Bitcoin Core",

@@ -5,0 +5,0 @@ "main": "build/index.js",

@@ -264,2 +264,26 @@ # rpc-bitcoin [![Build Status](https://travis-ci.com/vansergen/rpc-bitcoin.svg?token=cg5dVMovG8Db6p5Qzzps&branch=master)](https://travis-ci.com/vansergen/rpc-bitcoin)

### Generating
- [`generate`](https://bitcoin.org/en/developer-reference#generate)
```javascript
const nblocks = 1;
const maxtries = 10000;
const wallet = "bitcoin-core-wallet.dat";
const result = await client.generate({ nblocks, maxtries }, wallet);
```
- [`generatetoaddress`](https://bitcoin.org/en/developer-reference#generatetoaddress)
```javascript
const nblocks = 1;
const maxtries = 10000;
const address = "1HLoD9E4SDFFPDiYfNYnkBLQ85Y51J3Zb1";
const wallet = "bitcoin-core-wallet.dat";
const result = await client.generatetoaddress(
{ nblocks, address, maxtries },
wallet
);
```
### ZMQ

@@ -266,0 +290,0 @@

@@ -71,2 +71,11 @@ import { RESTClient, RESTIniOptions } from "./rest";

export type GenerateParams = {
nblocks: number;
maxtries?: number;
};
export type GenerateToAddressParams = GenerateParams & {
address: string;
};
export class RPCClient extends RESTClient {

@@ -312,2 +321,26 @@ wallet?: string;

/**
* @description Mine up to nblocks blocks immediately (before the RPC call returns) to an address in the wallet.
*/
async generate(
{ nblocks, maxtries = 1000000 }: GenerateParams,
wallet?: string
) {
return this.rpc("generate", { nblocks, maxtries }, wallet || this.wallet);
}
/**
* @description Mine blocks immediately to a specified address (before the RPC call returns)
*/
async generatetoaddress(
{ nblocks, address, maxtries = 1000000 }: GenerateToAddressParams,
wallet?: string
) {
return this.rpc(
"generatetoaddress",
{ nblocks, maxtries, address },
wallet || this.wallet
);
}
/**
* @description Returns information about the active ZeroMQ notifications.

@@ -314,0 +347,0 @@ */

@@ -1013,2 +1013,97 @@ import {

suite("Generating", () => {
test(".generate()", async () => {
const params = { nblocks: 1, maxtries: 10000 };
const request = { params, method: "generate", id, jsonrpc };
const result: any[] = [];
const response = { result, error, id };
nock(uri)
.post("/", request)
.times(1)
.basicAuth(auth)
.reply(200, response);
const data = await client.generate(params);
assert.deepStrictEqual(data, result);
});
test(".generate() (multi-wallet)", async () => {
const params = { nblocks: 1, maxtries: 10000 };
const wallet = "bitcoin-core-wallet.dat";
const request = { params, method: "generate", id, jsonrpc };
const result: any[] = [];
const response = { result, error, id };
nock(uri)
.post("/wallet/" + wallet, request)
.times(1)
.basicAuth(auth)
.reply(200, response);
const data = await client.generate(params, wallet);
assert.deepStrictEqual(data, result);
});
test(".generate() (default wallet)", async () => {
const wallet = "bitcoin-core-wallet.dat";
const client = new RPCClient({ port, timeout, pass, wallet });
const params = { nblocks: 1, maxtries: 10000 };
const request = { params, method: "generate", id, jsonrpc };
const result: any[] = [];
const response = { result, error, id };
nock(uri)
.post("/wallet/" + wallet, request)
.times(1)
.basicAuth(auth)
.reply(200, response);
const data = await client.generate(params);
assert.deepStrictEqual(data, result);
});
test(".generatetoaddress()", async () => {
const address = "tb1qc4gce3kvc8px505r4wurwdytqclkdjta68qlh4";
const params = { nblocks: 1, maxtries: 10000, address };
const request = { params, method: "generatetoaddress", id, jsonrpc };
const result: any[] = [];
const response = { result, error, id };
nock(uri)
.post("/", request)
.times(1)
.basicAuth(auth)
.reply(200, response);
const data = await client.generatetoaddress(params);
assert.deepStrictEqual(data, result);
});
test(".generatetoaddress() (multi-wallet)", async () => {
const address = "tb1qc4gce3kvc8px505r4wurwdytqclkdjta68qlh4";
const params = { nblocks: 1, maxtries: 10000, address };
const wallet = "bitcoin-core-wallet.dat";
const request = { params, method: "generatetoaddress", id, jsonrpc };
const result: any[] = [];
const response = { result, error, id };
nock(uri)
.post("/wallet/" + wallet, request)
.times(1)
.basicAuth(auth)
.reply(200, response);
const data = await client.generatetoaddress(params, wallet);
assert.deepStrictEqual(data, result);
});
test(".generatetoaddress() (default wallet)", async () => {
const wallet = "bitcoin-core-wallet.dat";
const client = new RPCClient({ port, timeout, pass, wallet });
const address = "tb1qc4gce3kvc8px505r4wurwdytqclkdjta68qlh4";
const params = { nblocks: 1, maxtries: 10000, address };
const request = { params, method: "generatetoaddress", id, jsonrpc };
const result: any[] = [];
const response = { result, error, id };
nock(uri)
.post("/wallet/" + wallet, request)
.times(1)
.basicAuth(auth)
.reply(200, response);
const data = await client.generatetoaddress(params);
assert.deepStrictEqual(data, result);
});
});
suite("Zmq", () => {

@@ -1015,0 +1110,0 @@ test(".getzmqnotifications()", async () => {