@did-btcr2/bitcoin 0.3.4 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/client/http.js +9 -0
- package/dist/cjs/client/http.js.map +1 -0
- package/dist/cjs/client/rest/address.js +20 -28
- package/dist/cjs/client/rest/address.js.map +1 -1
- package/dist/cjs/client/rest/block.js +23 -22
- package/dist/cjs/client/rest/block.js.map +1 -1
- package/dist/cjs/client/rest/index.js +31 -84
- package/dist/cjs/client/rest/index.js.map +1 -1
- package/dist/cjs/client/rest/protocol.js +129 -0
- package/dist/cjs/client/rest/protocol.js.map +1 -0
- package/dist/cjs/client/rest/transaction.js +19 -21
- package/dist/cjs/client/rest/transaction.js.map +1 -1
- package/dist/cjs/client/rpc/index.js +79 -337
- package/dist/cjs/client/rpc/index.js.map +1 -1
- package/dist/cjs/client/rpc/interface.js +1 -6
- package/dist/cjs/client/rpc/interface.js.map +1 -1
- package/dist/cjs/client/rpc/json-rpc.js +40 -63
- package/dist/cjs/client/rpc/json-rpc.js.map +1 -1
- package/dist/cjs/client/rpc/protocol.js +134 -0
- package/dist/cjs/client/rpc/protocol.js.map +1 -0
- package/dist/cjs/connection.js +104 -0
- package/dist/cjs/connection.js.map +1 -0
- package/dist/cjs/constants.js +16 -5
- package/dist/cjs/constants.js.map +1 -1
- package/dist/cjs/errors.js.map +1 -1
- package/dist/cjs/index.js +21 -13
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types.js +5 -55
- package/dist/cjs/types.js.map +1 -1
- package/dist/esm/client/http.js +9 -0
- package/dist/esm/client/http.js.map +1 -0
- package/dist/esm/client/rest/address.js +20 -28
- package/dist/esm/client/rest/address.js.map +1 -1
- package/dist/esm/client/rest/block.js +23 -22
- package/dist/esm/client/rest/block.js.map +1 -1
- package/dist/esm/client/rest/index.js +31 -84
- package/dist/esm/client/rest/index.js.map +1 -1
- package/dist/esm/client/rest/protocol.js +129 -0
- package/dist/esm/client/rest/protocol.js.map +1 -0
- package/dist/esm/client/rest/transaction.js +19 -21
- package/dist/esm/client/rest/transaction.js.map +1 -1
- package/dist/esm/client/rpc/index.js +79 -337
- package/dist/esm/client/rpc/index.js.map +1 -1
- package/dist/esm/client/rpc/interface.js +1 -6
- package/dist/esm/client/rpc/interface.js.map +1 -1
- package/dist/esm/client/rpc/json-rpc.js +40 -63
- package/dist/esm/client/rpc/json-rpc.js.map +1 -1
- package/dist/esm/client/rpc/protocol.js +134 -0
- package/dist/esm/client/rpc/protocol.js.map +1 -0
- package/dist/esm/connection.js +104 -0
- package/dist/esm/connection.js.map +1 -0
- package/dist/esm/constants.js +16 -5
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/errors.js.map +1 -1
- package/dist/esm/index.js +21 -13
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types.js +5 -55
- package/dist/esm/types.js.map +1 -1
- package/dist/types/client/http.d.ts +22 -0
- package/dist/types/client/http.d.ts.map +1 -0
- package/dist/types/client/rest/address.d.ts +17 -19
- package/dist/types/client/rest/address.d.ts.map +1 -1
- package/dist/types/client/rest/block.d.ts +25 -16
- package/dist/types/client/rest/block.d.ts.map +1 -1
- package/dist/types/client/rest/index.d.ts +21 -51
- package/dist/types/client/rest/index.d.ts.map +1 -1
- package/dist/types/client/rest/protocol.d.ts +59 -0
- package/dist/types/client/rest/protocol.d.ts.map +1 -0
- package/dist/types/client/rest/transaction.d.ts +17 -17
- package/dist/types/client/rest/transaction.d.ts.map +1 -1
- package/dist/types/client/rpc/index.d.ts +112 -253
- package/dist/types/client/rpc/index.d.ts.map +1 -1
- package/dist/types/client/rpc/interface.d.ts +42 -6
- package/dist/types/client/rpc/interface.d.ts.map +1 -1
- package/dist/types/client/rpc/json-rpc.d.ts +21 -18
- package/dist/types/client/rpc/json-rpc.d.ts.map +1 -1
- package/dist/types/client/rpc/protocol.d.ts +83 -0
- package/dist/types/client/rpc/protocol.d.ts.map +1 -0
- package/dist/types/client/utils.d.ts +1 -0
- package/dist/types/connection.d.ts +82 -0
- package/dist/types/connection.d.ts.map +1 -0
- package/dist/types/constants.d.ts +17 -5
- package/dist/types/constants.d.ts.map +1 -1
- package/dist/types/errors.d.ts +5 -3
- package/dist/types/errors.d.ts.map +1 -1
- package/dist/types/index.d.ts +21 -13
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/network.d.ts +1 -0
- package/dist/types/types.d.ts +99 -696
- package/dist/types/types.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/client/http.ts +28 -0
- package/src/client/rest/address.ts +24 -30
- package/src/client/rest/block.ts +29 -26
- package/src/client/rest/index.ts +38 -94
- package/src/client/rest/protocol.ts +153 -0
- package/src/client/rest/transaction.ts +23 -23
- package/src/client/rpc/index.ts +146 -379
- package/src/client/rpc/interface.ts +88 -53
- package/src/client/rpc/json-rpc.ts +53 -60
- package/src/client/rpc/protocol.ts +160 -0
- package/src/connection.ts +136 -0
- package/src/constants.ts +17 -5
- package/src/errors.ts +10 -3
- package/src/index.ts +81 -13
- package/src/types.ts +332 -972
- package/dist/cjs/bitcoin.js +0 -105
- package/dist/cjs/bitcoin.js.map +0 -1
- package/dist/esm/bitcoin.js +0 -105
- package/dist/esm/bitcoin.js.map +0 -1
- package/dist/types/bitcoin.d.ts +0 -60
- package/dist/types/bitcoin.d.ts.map +0 -1
- package/src/bitcoin.ts +0 -149
|
@@ -1,28 +1,31 @@
|
|
|
1
1
|
import { Bytes } from '@did-btcr2/common';
|
|
2
|
-
import { RawTransactionRest
|
|
2
|
+
import { RawTransactionRest } from '../../types.js';
|
|
3
|
+
import { HttpRequest } from '../http.js';
|
|
4
|
+
import { EsploraProtocol } from './protocol.js';
|
|
3
5
|
|
|
4
6
|
export class BitcoinTransaction {
|
|
5
|
-
private
|
|
7
|
+
private readonly protocol: EsploraProtocol;
|
|
8
|
+
private readonly exec: (req: HttpRequest) => Promise<any>;
|
|
6
9
|
|
|
7
|
-
constructor(
|
|
8
|
-
this.
|
|
10
|
+
constructor(protocol: EsploraProtocol, exec: (req: HttpRequest) => Promise<any>) {
|
|
11
|
+
this.protocol = protocol;
|
|
12
|
+
this.exec = exec;
|
|
9
13
|
}
|
|
10
14
|
|
|
11
15
|
/**
|
|
12
16
|
* Returns the transaction in JSON format.
|
|
13
17
|
* See {@link https://github.com/blockstream/esplora/blob/master/API.md#get-txtxid | Esplora GET /tx/:txid } for details.
|
|
14
18
|
* @param {string} txid The transaction id (required).
|
|
15
|
-
* @returns {
|
|
19
|
+
* @returns {Promise<RawTransactionRest>} A promise resolving to data about a transaction.
|
|
16
20
|
*/
|
|
17
21
|
public async get(txid: string): Promise<RawTransactionRest> {
|
|
18
|
-
return await this.
|
|
22
|
+
return await this.exec(this.protocol.getTx(txid));
|
|
19
23
|
}
|
|
20
24
|
|
|
21
25
|
/**
|
|
22
|
-
*
|
|
23
|
-
* See {@link https://github.com/blockstream/esplora/blob/master/API.md#get-txtxid | Esplora GET /tx/:txid } for details.
|
|
26
|
+
* Checks if a transaction is confirmed.
|
|
24
27
|
* @param {string} txid The transaction id (required).
|
|
25
|
-
* @returns {
|
|
28
|
+
* @returns {Promise<boolean>} True if the transaction is confirmed.
|
|
26
29
|
*/
|
|
27
30
|
public async isConfirmed(txid: string): Promise<boolean> {
|
|
28
31
|
const tx = await this.get(txid);
|
|
@@ -30,35 +33,32 @@ export class BitcoinTransaction {
|
|
|
30
33
|
}
|
|
31
34
|
|
|
32
35
|
/**
|
|
33
|
-
* Returns the raw transaction
|
|
34
|
-
* See {@link https://github.com/blockstream/esplora/blob/master/API.md#get-txtxidhex | Esplora GET /tx/:txid/hex }
|
|
35
|
-
* {@link https://github.com/blockstream/esplora/blob/master/API.md#get-txtxidraw | Esplora GET /tx/:txid/raw } for details.
|
|
36
|
+
* Returns the raw transaction as a hex string.
|
|
37
|
+
* See {@link https://github.com/blockstream/esplora/blob/master/API.md#get-txtxidhex | Esplora GET /tx/:txid/hex } for details.
|
|
36
38
|
* @param {string} txid The transaction id (required).
|
|
37
|
-
* @returns {Promise<
|
|
39
|
+
* @returns {Promise<string>} A promise resolving to the raw transaction hex.
|
|
38
40
|
*/
|
|
39
41
|
public async getHex(txid: string): Promise<string> {
|
|
40
|
-
return await this.
|
|
42
|
+
return await this.exec(this.protocol.getTxHex(txid));
|
|
41
43
|
}
|
|
42
44
|
|
|
43
45
|
/**
|
|
44
|
-
* Returns the raw transaction
|
|
45
|
-
* See {@link https://github.com/blockstream/esplora/blob/master/API.md#get-
|
|
46
|
-
* {@link https://github.com/blockstream/esplora/blob/master/API.md#get-txtxidraw | Esplora GET /tx/:txid/raw } for details.
|
|
46
|
+
* Returns the raw transaction as binary data.
|
|
47
|
+
* See {@link https://github.com/blockstream/esplora/blob/master/API.md#get-txtxidraw | Esplora GET /tx/:txid/raw } for details.
|
|
47
48
|
* @param {string} txid The transaction id (required).
|
|
48
|
-
* @returns {Promise<
|
|
49
|
+
* @returns {Promise<Bytes>} A promise resolving to the raw transaction bytes.
|
|
49
50
|
*/
|
|
50
51
|
public async getRaw(txid: string): Promise<Bytes> {
|
|
51
|
-
return await this.
|
|
52
|
+
return await this.exec(this.protocol.getTxRaw(txid));
|
|
52
53
|
}
|
|
53
54
|
|
|
54
55
|
/**
|
|
55
|
-
* Broadcast a raw transaction to the network.
|
|
56
|
-
* will be returned on success.
|
|
56
|
+
* Broadcast a raw transaction to the network.
|
|
57
57
|
* See {@link https://github.com/blockstream/esplora/blob/master/API.md#post-tx | Esplora POST /tx } for details.
|
|
58
58
|
* @param {string} tx The raw transaction in hex format (required).
|
|
59
59
|
* @returns {Promise<string>} The transaction id of the broadcasted transaction.
|
|
60
60
|
*/
|
|
61
61
|
public async send(tx: string): Promise<string> {
|
|
62
|
-
return await this.
|
|
62
|
+
return await this.exec(this.protocol.postTx(tx));
|
|
63
63
|
}
|
|
64
|
-
}
|
|
64
|
+
}
|