@atomicfinance/bitcoin-rpc-provider 3.4.7 → 3.5.1
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/BitcoinRpcProvider.js +4 -4
- package/dist/BitcoinRpcProvider.js.map +1 -1
- package/lib/BitcoinRpcProvider.js +206 -0
- package/lib/index.js +9 -0
- package/package.json +6 -7
- package/CHANGELOG.md +0 -239
|
@@ -37,7 +37,7 @@ class BitcoinRpcProvider extends jsonrpc_provider_1.JsonRpcProvider {
|
|
|
37
37
|
async getBalance(_addresses) {
|
|
38
38
|
const addresses = _addresses.map(utils_1.addressToString);
|
|
39
39
|
const _utxos = await this.getUnspentTransactions(addresses);
|
|
40
|
-
const utxos = lodash_1.flatten(_utxos);
|
|
40
|
+
const utxos = (0, lodash_1.flatten)(_utxos);
|
|
41
41
|
return utxos.reduce((acc, utxo) => acc.plus(utxo.value), new types_1.BigNumber(0));
|
|
42
42
|
}
|
|
43
43
|
async getUnspentTransactions(_addresses) {
|
|
@@ -167,7 +167,7 @@ class BitcoinRpcProvider extends jsonrpc_provider_1.JsonRpcProvider {
|
|
|
167
167
|
}
|
|
168
168
|
async getParsedTransactionByHash(transactionHash, addFees = false) {
|
|
169
169
|
const tx = await this.jsonrpc('getrawtransaction', transactionHash, 1);
|
|
170
|
-
return bitcoin_utils_1.normalizeTransactionObject(tx, addFees ? await this.getTransactionFee(tx) : undefined, tx.confirmations > 0
|
|
170
|
+
return (0, bitcoin_utils_1.normalizeTransactionObject)(tx, addFees ? await this.getTransactionFee(tx) : undefined, tx.confirmations > 0
|
|
171
171
|
? await this.getBlockByHash(tx.blockhash)
|
|
172
172
|
: undefined);
|
|
173
173
|
}
|
|
@@ -181,7 +181,7 @@ class BitcoinRpcProvider extends jsonrpc_provider_1.JsonRpcProvider {
|
|
|
181
181
|
async sendBatchTransaction(transactions) {
|
|
182
182
|
const outputs = {};
|
|
183
183
|
for (const tx of transactions) {
|
|
184
|
-
outputs[utils_1.addressToString(tx.to)] = new types_1.BigNumber(tx.value)
|
|
184
|
+
outputs[(0, utils_1.addressToString)(tx.to)] = new types_1.BigNumber(tx.value)
|
|
185
185
|
.dividedBy(1e8)
|
|
186
186
|
.toNumber();
|
|
187
187
|
}
|
|
@@ -190,7 +190,7 @@ class BitcoinRpcProvider extends jsonrpc_provider_1.JsonRpcProvider {
|
|
|
190
190
|
const rawTxSigned = await this.signRawTransaction(rawTxFunded.hex);
|
|
191
191
|
const fee = new types_1.BigNumber(rawTxFunded.fee).times(1e8).toNumber();
|
|
192
192
|
await this.sendRawTransaction(rawTxSigned.hex);
|
|
193
|
-
return bitcoin_utils_1.normalizeTransactionObject(bitcoin_utils_1.decodeRawTransaction(rawTxSigned.hex, this._network), fee);
|
|
193
|
+
return (0, bitcoin_utils_1.normalizeTransactionObject)((0, bitcoin_utils_1.decodeRawTransaction)(rawTxSigned.hex, this._network), fee);
|
|
194
194
|
}
|
|
195
195
|
async signRawTransaction(hexstring) {
|
|
196
196
|
return this.jsonrpc('signrawtransactionwithwallet', hexstring);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BitcoinRpcProvider.js","sourceRoot":"","sources":["../lib/BitcoinRpcProvider.ts"],"names":[],"mappings":";;AAAA,gEAGsC;AACtC,kDAA4E;AAC5E,sEAAkE;AAClE,gDAS8B;AAC9B,gDAAuD;AAEvD,mCAAiC;AAiBjC,MAAqB,kBACnB,SAAQ,kCAAe;IAOvB,YAAY,OAAwB;QAClC,MAAM,EACJ,GAAG,EACH,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,qBAAqB,GAAG,CAAC,EACzB,iBAAiB,GAAG,CAAC,GACtB,GAAG,OAAO,CAAC;QACZ,KAAK,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,sBAAsB,GAAG,qBAAqB,CAAC;QACpD,IAAI,CAAC,kBAAkB,GAAG,iBAAiB,CAAC;QAC5C,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,cAAsB;QAEtB,OAAO,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,cAAc,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,cAAc,GAAG,IAAI,CAAC,sBAAsB;QAC9D,IAAI;YACF,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CACpC,kBAAkB,EAClB,cAAc,CACf,CAAC;YAEF,IAAI,OAAO,IAAI,OAAO,GAAG,CAAC,EAAE;gBAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;aAC1C;YAED,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;SAC1C;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,IAAI,CAAC,kBAAkB,CAAC;SAChC;IACH,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC1D,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,UAAgC;QAC/C,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,uBAAe,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;QAC5D,MAAM,KAAK,GAAG,gBAAO,
|
|
1
|
+
{"version":3,"file":"BitcoinRpcProvider.js","sourceRoot":"","sources":["../lib/BitcoinRpcProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const bitcoin_utils_1 = require("@atomicfinance/bitcoin-utils");
|
|
4
|
+
const errors_1 = require("@atomicfinance/errors");
|
|
5
|
+
const jsonrpc_provider_1 = require("@atomicfinance/jsonrpc-provider");
|
|
6
|
+
const types_1 = require("@atomicfinance/types");
|
|
7
|
+
const utils_1 = require("@atomicfinance/utils");
|
|
8
|
+
const lodash_1 = require("lodash");
|
|
9
|
+
class BitcoinRpcProvider extends jsonrpc_provider_1.JsonRpcProvider {
|
|
10
|
+
constructor(options) {
|
|
11
|
+
const { uri, username, password, network, feeBlockConfirmations = 1, defaultFeePerByte = 3, } = options;
|
|
12
|
+
super(uri, username, password);
|
|
13
|
+
this._network = network;
|
|
14
|
+
this._feeBlockConfirmations = feeBlockConfirmations;
|
|
15
|
+
this._defaultFeePerByte = defaultFeePerByte;
|
|
16
|
+
this._usedAddressCache = {};
|
|
17
|
+
}
|
|
18
|
+
async decodeRawTransaction(rawTransaction) {
|
|
19
|
+
return this.jsonrpc('decoderawtransaction', rawTransaction);
|
|
20
|
+
}
|
|
21
|
+
async getFeePerByte(numberOfBlocks = this._feeBlockConfirmations) {
|
|
22
|
+
try {
|
|
23
|
+
const { feerate } = await this.jsonrpc('estimatesmartfee', numberOfBlocks);
|
|
24
|
+
if (feerate && feerate > 0) {
|
|
25
|
+
return Math.ceil((feerate * 1e8) / 1000);
|
|
26
|
+
}
|
|
27
|
+
throw new Error('Invalid estimated fee');
|
|
28
|
+
}
|
|
29
|
+
catch (e) {
|
|
30
|
+
return this._defaultFeePerByte;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
async getMinRelayFee() {
|
|
34
|
+
const { relayfee } = await this.jsonrpc('getnetworkinfo');
|
|
35
|
+
return (relayfee * 1e8) / 1000;
|
|
36
|
+
}
|
|
37
|
+
async getBalance(_addresses) {
|
|
38
|
+
const addresses = _addresses.map(utils_1.addressToString);
|
|
39
|
+
const _utxos = await this.getUnspentTransactions(addresses);
|
|
40
|
+
const utxos = (0, lodash_1.flatten)(_utxos);
|
|
41
|
+
return utxos.reduce((acc, utxo) => acc.plus(utxo.value), new types_1.BigNumber(0));
|
|
42
|
+
}
|
|
43
|
+
async getUnspentTransactions(_addresses) {
|
|
44
|
+
const addresses = _addresses.map(utils_1.addressToString);
|
|
45
|
+
const utxos = await this.jsonrpc('listunspent', 0, 9999999, addresses);
|
|
46
|
+
return utxos.map((utxo) => ({
|
|
47
|
+
...utxo,
|
|
48
|
+
value: new types_1.BigNumber(utxo.amount).times(1e8).toNumber(),
|
|
49
|
+
}));
|
|
50
|
+
}
|
|
51
|
+
async getAddressTransactionCounts(_addresses) {
|
|
52
|
+
const addresses = _addresses.map(utils_1.addressToString);
|
|
53
|
+
const receivedAddresses = await this.jsonrpc('listreceivedbyaddress', 0, false, true);
|
|
54
|
+
return addresses.reduce((acc, addr) => {
|
|
55
|
+
const receivedAddress = receivedAddresses.find((receivedAddress) => receivedAddress.address === addr);
|
|
56
|
+
const transactionCount = receivedAddress
|
|
57
|
+
? receivedAddress.txids.length
|
|
58
|
+
: 0;
|
|
59
|
+
acc[addr] = transactionCount;
|
|
60
|
+
return acc;
|
|
61
|
+
}, {});
|
|
62
|
+
}
|
|
63
|
+
async getReceivedByAddress(address) {
|
|
64
|
+
return this.jsonrpc('getreceivedbyaddress', address);
|
|
65
|
+
}
|
|
66
|
+
async importAddresses(addresses) {
|
|
67
|
+
const request = addresses.map((address) => ({
|
|
68
|
+
scriptPubKey: { address },
|
|
69
|
+
timestamp: 0,
|
|
70
|
+
}));
|
|
71
|
+
return this.jsonrpc('importmulti', request);
|
|
72
|
+
}
|
|
73
|
+
async getTransactionHex(transactionHash) {
|
|
74
|
+
return this.jsonrpc('getrawtransaction', transactionHash);
|
|
75
|
+
}
|
|
76
|
+
async generateBlock(numberOfBlocks) {
|
|
77
|
+
const miningAddressLabel = 'miningAddress';
|
|
78
|
+
let address;
|
|
79
|
+
try {
|
|
80
|
+
// Avoid creating 100s of addresses for mining
|
|
81
|
+
const labelAddresses = await this.jsonrpc('getaddressesbylabel', miningAddressLabel);
|
|
82
|
+
address = Object.keys(labelAddresses)[0];
|
|
83
|
+
}
|
|
84
|
+
catch (e) {
|
|
85
|
+
// Label does not exist
|
|
86
|
+
address = await this.jsonrpc('getnewaddress', miningAddressLabel);
|
|
87
|
+
}
|
|
88
|
+
return this.jsonrpc('generatetoaddress', numberOfBlocks, address);
|
|
89
|
+
}
|
|
90
|
+
async getBlockByHash(blockHash, includeTx = false) {
|
|
91
|
+
let data;
|
|
92
|
+
try {
|
|
93
|
+
data = await this.jsonrpc('getblock', blockHash); // TODO: This doesn't fit the interface?: https://chainquery.com/bitcoin-cli/getblock
|
|
94
|
+
}
|
|
95
|
+
catch (e) {
|
|
96
|
+
if (e.name === 'NodeError' && e.message.includes('Block not found')) {
|
|
97
|
+
const { name, message, ...attrs } = e;
|
|
98
|
+
throw new errors_1.BlockNotFoundError(`Block not found: ${blockHash}`, attrs);
|
|
99
|
+
}
|
|
100
|
+
throw e;
|
|
101
|
+
}
|
|
102
|
+
const { hash, height: number, mediantime: timestamp, difficulty, size, previousblockhash: parentHash, nonce, tx: transactionHashes, } = data;
|
|
103
|
+
let transactions = transactionHashes;
|
|
104
|
+
// TODO: Why transactions need to be retrieved individually? getblock has verbose 2 https://chainquery.com/bitcoin-cli/getblock
|
|
105
|
+
if (includeTx) {
|
|
106
|
+
const txs = transactionHashes.map((hash) => this.getTransactionByHash(hash));
|
|
107
|
+
transactions = await Promise.all(txs);
|
|
108
|
+
}
|
|
109
|
+
return {
|
|
110
|
+
hash,
|
|
111
|
+
number,
|
|
112
|
+
timestamp,
|
|
113
|
+
difficulty: parseFloat(new types_1.BigNumber(difficulty).toFixed()),
|
|
114
|
+
size,
|
|
115
|
+
parentHash,
|
|
116
|
+
nonce,
|
|
117
|
+
transactions,
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
async getBlockByNumber(blockNumber, includeTx = false) {
|
|
121
|
+
let blockHash;
|
|
122
|
+
try {
|
|
123
|
+
blockHash = await this.jsonrpc('getblockhash', blockNumber);
|
|
124
|
+
}
|
|
125
|
+
catch (e) {
|
|
126
|
+
if (e.name === 'NodeError' &&
|
|
127
|
+
e.message.includes('Block height out of range')) {
|
|
128
|
+
const { name, message, ...attrs } = e;
|
|
129
|
+
throw new errors_1.BlockNotFoundError(`Block not found: ${blockNumber}`, attrs);
|
|
130
|
+
}
|
|
131
|
+
throw e;
|
|
132
|
+
}
|
|
133
|
+
return this.getBlockByHash(blockHash, includeTx);
|
|
134
|
+
}
|
|
135
|
+
async getBlockHeight() {
|
|
136
|
+
return this.jsonrpc('getblockcount');
|
|
137
|
+
}
|
|
138
|
+
async getTransactionByHash(transactionHash) {
|
|
139
|
+
try {
|
|
140
|
+
const tx = await this.getParsedTransactionByHash(transactionHash, true);
|
|
141
|
+
return tx;
|
|
142
|
+
}
|
|
143
|
+
catch (e) {
|
|
144
|
+
if (e.name === 'NodeError' &&
|
|
145
|
+
e.message.includes('No such mempool transaction')) {
|
|
146
|
+
const { name, message, ...attrs } = e;
|
|
147
|
+
throw new errors_1.TxNotFoundError(`Transaction not found: ${transactionHash}`, attrs);
|
|
148
|
+
}
|
|
149
|
+
throw e;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
async getTransactionFee(tx) {
|
|
153
|
+
const isCoinbaseTx = tx.vin.find((vin) => vin.coinbase);
|
|
154
|
+
if (isCoinbaseTx)
|
|
155
|
+
return; // Coinbase transactions do not have a fee
|
|
156
|
+
const inputs = tx.vin.map((vin) => ({ txid: vin.txid, vout: vin.vout }));
|
|
157
|
+
const inputTransactions = await Promise.all(inputs.map((input) => this.jsonrpc('getrawtransaction', input.txid, 1)));
|
|
158
|
+
const inputValues = inputTransactions.map((inputTx, index) => {
|
|
159
|
+
const vout = inputs[index].vout;
|
|
160
|
+
const output = inputTx.vout[vout];
|
|
161
|
+
return output.value * 1e8;
|
|
162
|
+
});
|
|
163
|
+
const inputValue = inputValues.reduce((a, b) => a.plus(new types_1.BigNumber(b)), new types_1.BigNumber(0));
|
|
164
|
+
const outputValue = tx.vout.reduce((a, b) => a.plus(new types_1.BigNumber(b.value).times(new types_1.BigNumber(1e8))), new types_1.BigNumber(0));
|
|
165
|
+
const feeValue = inputValue.minus(outputValue);
|
|
166
|
+
return feeValue.toNumber();
|
|
167
|
+
}
|
|
168
|
+
async getParsedTransactionByHash(transactionHash, addFees = false) {
|
|
169
|
+
const tx = await this.jsonrpc('getrawtransaction', transactionHash, 1);
|
|
170
|
+
return (0, bitcoin_utils_1.normalizeTransactionObject)(tx, addFees ? await this.getTransactionFee(tx) : undefined, tx.confirmations > 0
|
|
171
|
+
? await this.getBlockByHash(tx.blockhash)
|
|
172
|
+
: undefined);
|
|
173
|
+
}
|
|
174
|
+
async getRawTransactionByHash(transactionHash) {
|
|
175
|
+
const tx = await this.jsonrpc('getrawtransaction', transactionHash, 0);
|
|
176
|
+
return tx;
|
|
177
|
+
}
|
|
178
|
+
async sendRawTransaction(rawTransaction) {
|
|
179
|
+
return this.jsonrpc('sendrawtransaction', rawTransaction);
|
|
180
|
+
}
|
|
181
|
+
async sendBatchTransaction(transactions) {
|
|
182
|
+
const outputs = {};
|
|
183
|
+
for (const tx of transactions) {
|
|
184
|
+
outputs[(0, utils_1.addressToString)(tx.to)] = new types_1.BigNumber(tx.value)
|
|
185
|
+
.dividedBy(1e8)
|
|
186
|
+
.toNumber();
|
|
187
|
+
}
|
|
188
|
+
const rawTxOutputs = await this.createRawTransaction([], outputs);
|
|
189
|
+
const rawTxFunded = await this.fundRawTransaction(rawTxOutputs);
|
|
190
|
+
const rawTxSigned = await this.signRawTransaction(rawTxFunded.hex);
|
|
191
|
+
const fee = new types_1.BigNumber(rawTxFunded.fee).times(1e8).toNumber();
|
|
192
|
+
await this.sendRawTransaction(rawTxSigned.hex);
|
|
193
|
+
return (0, bitcoin_utils_1.normalizeTransactionObject)((0, bitcoin_utils_1.decodeRawTransaction)(rawTxSigned.hex, this._network), fee);
|
|
194
|
+
}
|
|
195
|
+
async signRawTransaction(hexstring) {
|
|
196
|
+
return this.jsonrpc('signrawtransactionwithwallet', hexstring);
|
|
197
|
+
}
|
|
198
|
+
async createRawTransaction(transactions, outputs) {
|
|
199
|
+
return this.jsonrpc('createrawtransaction', transactions, outputs);
|
|
200
|
+
}
|
|
201
|
+
async fundRawTransaction(hexstring) {
|
|
202
|
+
return this.jsonrpc('fundrawtransaction', hexstring);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
exports.default = BitcoinRpcProvider;
|
|
206
|
+
//# sourceMappingURL=BitcoinRpcProvider.js.map
|
package/lib/index.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.BitcoinRpcProvider = void 0;
|
|
7
|
+
const BitcoinRpcProvider_1 = __importDefault(require("./BitcoinRpcProvider"));
|
|
8
|
+
exports.BitcoinRpcProvider = BitcoinRpcProvider_1.default;
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
package/package.json
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atomicfinance/bitcoin-rpc-provider",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.5.1",
|
|
4
4
|
"description": "",
|
|
5
5
|
"module": "dist/index.js",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
|
-
"types": "dist/lib/index.d.ts",
|
|
8
7
|
"directories": {
|
|
9
8
|
"dist": "dist",
|
|
10
9
|
"src": "lib"
|
|
@@ -25,11 +24,11 @@
|
|
|
25
24
|
"node": ">=14"
|
|
26
25
|
},
|
|
27
26
|
"dependencies": {
|
|
28
|
-
"@atomicfinance/bitcoin-utils": "^3.
|
|
29
|
-
"@atomicfinance/errors": "^3.
|
|
30
|
-
"@atomicfinance/jsonrpc-provider": "^3.
|
|
31
|
-
"@atomicfinance/types": "^3.
|
|
32
|
-
"@atomicfinance/utils": "^3.
|
|
27
|
+
"@atomicfinance/bitcoin-utils": "^3.5.1",
|
|
28
|
+
"@atomicfinance/errors": "^3.5.1",
|
|
29
|
+
"@atomicfinance/jsonrpc-provider": "^3.5.1",
|
|
30
|
+
"@atomicfinance/types": "^3.5.1",
|
|
31
|
+
"@atomicfinance/utils": "^3.5.1",
|
|
33
32
|
"@babel/runtime": "^7.12.1",
|
|
34
33
|
"bignumber.js": "^9.0.0",
|
|
35
34
|
"bitcoin-networks": "^1.0.0",
|
package/CHANGELOG.md
DELETED
|
@@ -1,239 +0,0 @@
|
|
|
1
|
-
# @atomicfinance/bitcoin-rpc-provider
|
|
2
|
-
|
|
3
|
-
## 3.4.7
|
|
4
|
-
|
|
5
|
-
### Patch Changes
|
|
6
|
-
|
|
7
|
-
- 0ba01ef: Bump @node-dlc to 0.23.6
|
|
8
|
-
- Updated dependencies [0ba01ef]
|
|
9
|
-
- @atomicfinance/types@3.4.7
|
|
10
|
-
- @atomicfinance/bitcoin-utils@3.4.7
|
|
11
|
-
- @atomicfinance/errors@3.4.7
|
|
12
|
-
- @atomicfinance/jsonrpc-provider@3.4.7
|
|
13
|
-
- @atomicfinance/utils@3.4.7
|
|
14
|
-
|
|
15
|
-
## 3.4.6
|
|
16
|
-
|
|
17
|
-
### Patch Changes
|
|
18
|
-
|
|
19
|
-
- b765b9c: Bump nodep-dlc to 0.23.5
|
|
20
|
-
- Updated dependencies [b765b9c]
|
|
21
|
-
- @atomicfinance/types@3.4.6
|
|
22
|
-
- @atomicfinance/bitcoin-utils@3.4.6
|
|
23
|
-
- @atomicfinance/errors@3.4.6
|
|
24
|
-
- @atomicfinance/jsonrpc-provider@3.4.6
|
|
25
|
-
- @atomicfinance/utils@3.4.6
|
|
26
|
-
|
|
27
|
-
## 3.4.5
|
|
28
|
-
|
|
29
|
-
### Patch Changes
|
|
30
|
-
|
|
31
|
-
- 74b7a4f: Bump node-dlc to 0.23.4
|
|
32
|
-
- Updated dependencies [74b7a4f]
|
|
33
|
-
- @atomicfinance/types@3.4.5
|
|
34
|
-
- @atomicfinance/bitcoin-utils@3.4.5
|
|
35
|
-
- @atomicfinance/errors@3.4.5
|
|
36
|
-
- @atomicfinance/jsonrpc-provider@3.4.5
|
|
37
|
-
- @atomicfinance/utils@3.4.5
|
|
38
|
-
|
|
39
|
-
## 3.4.4
|
|
40
|
-
|
|
41
|
-
### Patch Changes
|
|
42
|
-
|
|
43
|
-
- cc8f06a: Bump node-dlc to 0.23.3
|
|
44
|
-
- Updated dependencies [cc8f06a]
|
|
45
|
-
- @atomicfinance/types@3.4.4
|
|
46
|
-
- @atomicfinance/bitcoin-utils@3.4.4
|
|
47
|
-
- @atomicfinance/errors@3.4.4
|
|
48
|
-
- @atomicfinance/jsonrpc-provider@3.4.4
|
|
49
|
-
- @atomicfinance/utils@3.4.4
|
|
50
|
-
|
|
51
|
-
## 3.4.3
|
|
52
|
-
|
|
53
|
-
### Patch Changes
|
|
54
|
-
|
|
55
|
-
- db49017: Bump node-dlc to 0.23.2 for all packages
|
|
56
|
-
- Updated dependencies [db49017]
|
|
57
|
-
- @atomicfinance/types@3.4.3
|
|
58
|
-
- @atomicfinance/bitcoin-utils@3.4.3
|
|
59
|
-
- @atomicfinance/errors@3.4.3
|
|
60
|
-
- @atomicfinance/jsonrpc-provider@3.4.3
|
|
61
|
-
- @atomicfinance/utils@3.4.3
|
|
62
|
-
|
|
63
|
-
## 3.4.2
|
|
64
|
-
|
|
65
|
-
### Patch Changes
|
|
66
|
-
|
|
67
|
-
- e701ba6: Bump node-dlc- to 0.23.1 and add node-dlc batch tx builder validation tests
|
|
68
|
-
- Updated dependencies [e701ba6]
|
|
69
|
-
- @atomicfinance/types@3.4.2
|
|
70
|
-
- @atomicfinance/bitcoin-utils@3.4.2
|
|
71
|
-
- @atomicfinance/errors@3.4.2
|
|
72
|
-
- @atomicfinance/jsonrpc-provider@3.4.2
|
|
73
|
-
- @atomicfinance/utils@3.4.2
|
|
74
|
-
|
|
75
|
-
## 3.4.1
|
|
76
|
-
|
|
77
|
-
### Patch Changes
|
|
78
|
-
|
|
79
|
-
- 9781efe: Add getInputsForDualFunding functionality and bump @node-dlc
|
|
80
|
-
- Updated dependencies [9781efe]
|
|
81
|
-
- @atomicfinance/bitcoin-utils@3.4.1
|
|
82
|
-
- @atomicfinance/types@3.4.1
|
|
83
|
-
- @atomicfinance/errors@3.4.1
|
|
84
|
-
- @atomicfinance/jsonrpc-provider@3.4.1
|
|
85
|
-
- @atomicfinance/utils@3.4.1
|
|
86
|
-
|
|
87
|
-
## 3.4.0
|
|
88
|
-
|
|
89
|
-
### Minor Changes
|
|
90
|
-
|
|
91
|
-
- 314d7d7: Add batch dlc funding transactions
|
|
92
|
-
|
|
93
|
-
### Patch Changes
|
|
94
|
-
|
|
95
|
-
- Updated dependencies [314d7d7]
|
|
96
|
-
- @atomicfinance/types@3.4.0
|
|
97
|
-
- @atomicfinance/bitcoin-utils@3.4.0
|
|
98
|
-
- @atomicfinance/errors@3.4.0
|
|
99
|
-
- @atomicfinance/jsonrpc-provider@3.4.0
|
|
100
|
-
- @atomicfinance/utils@3.4.0
|
|
101
|
-
|
|
102
|
-
## 3.3.1
|
|
103
|
-
|
|
104
|
-
### Patch Changes
|
|
105
|
-
|
|
106
|
-
- 7f6f4a8: Fix rounding error with find payout
|
|
107
|
-
- Updated dependencies [7f6f4a8]
|
|
108
|
-
- @atomicfinance/bitcoin-utils@3.3.1
|
|
109
|
-
- @atomicfinance/errors@3.3.1
|
|
110
|
-
- @atomicfinance/jsonrpc-provider@3.3.1
|
|
111
|
-
- @atomicfinance/types@3.3.1
|
|
112
|
-
- @atomicfinance/utils@3.3.1
|
|
113
|
-
|
|
114
|
-
## 3.3.0
|
|
115
|
-
|
|
116
|
-
### Minor Changes
|
|
117
|
-
|
|
118
|
-
- 4a512ee: Fix find outcome index for hyperbola payout curve edge case
|
|
119
|
-
|
|
120
|
-
### Patch Changes
|
|
121
|
-
|
|
122
|
-
- Updated dependencies [4a512ee]
|
|
123
|
-
- @atomicfinance/bitcoin-utils@3.3.0
|
|
124
|
-
- @atomicfinance/errors@3.3.0
|
|
125
|
-
- @atomicfinance/jsonrpc-provider@3.3.0
|
|
126
|
-
- @atomicfinance/types@3.3.0
|
|
127
|
-
- @atomicfinance/utils@3.3.0
|
|
128
|
-
|
|
129
|
-
## 3.2.5
|
|
130
|
-
|
|
131
|
-
### Patch Changes
|
|
132
|
-
|
|
133
|
-
- Updated dependencies [a72c7b9]
|
|
134
|
-
- @atomicfinance/types@3.2.5
|
|
135
|
-
- @atomicfinance/bitcoin-utils@3.2.5
|
|
136
|
-
- @atomicfinance/errors@3.2.5
|
|
137
|
-
- @atomicfinance/jsonrpc-provider@3.2.5
|
|
138
|
-
- @atomicfinance/utils@3.2.5
|
|
139
|
-
|
|
140
|
-
## 3.2.4
|
|
141
|
-
|
|
142
|
-
### Patch Changes
|
|
143
|
-
|
|
144
|
-
- 177b76a: Upgrade node-dlc to 0.22.4
|
|
145
|
-
- Updated dependencies [177b76a]
|
|
146
|
-
- @atomicfinance/bitcoin-utils@3.2.4
|
|
147
|
-
- @atomicfinance/errors@3.2.4
|
|
148
|
-
- @atomicfinance/jsonrpc-provider@3.2.4
|
|
149
|
-
- @atomicfinance/types@3.2.4
|
|
150
|
-
- @atomicfinance/utils@3.2.4
|
|
151
|
-
|
|
152
|
-
## 3.2.3
|
|
153
|
-
|
|
154
|
-
### Patch Changes
|
|
155
|
-
|
|
156
|
-
- @atomicfinance/bitcoin-utils@3.2.3
|
|
157
|
-
- @atomicfinance/errors@3.2.3
|
|
158
|
-
- @atomicfinance/jsonrpc-provider@3.2.3
|
|
159
|
-
- @atomicfinance/types@3.2.3
|
|
160
|
-
- @atomicfinance/utils@3.2.3
|
|
161
|
-
|
|
162
|
-
## 3.2.2
|
|
163
|
-
|
|
164
|
-
### Patch Changes
|
|
165
|
-
|
|
166
|
-
- @atomicfinance/bitcoin-utils@3.2.2
|
|
167
|
-
- @atomicfinance/errors@3.2.2
|
|
168
|
-
- @atomicfinance/jsonrpc-provider@3.2.2
|
|
169
|
-
- @atomicfinance/types@3.2.2
|
|
170
|
-
- @atomicfinance/utils@3.2.2
|
|
171
|
-
|
|
172
|
-
## 3.2.1
|
|
173
|
-
|
|
174
|
-
### Patch Changes
|
|
175
|
-
|
|
176
|
-
- Updated dependencies [f69141e]
|
|
177
|
-
- @atomicfinance/types@3.2.1
|
|
178
|
-
- @atomicfinance/bitcoin-utils@3.2.1
|
|
179
|
-
- @atomicfinance/errors@3.2.1
|
|
180
|
-
- @atomicfinance/jsonrpc-provider@3.2.1
|
|
181
|
-
- @atomicfinance/utils@3.2.1
|
|
182
|
-
|
|
183
|
-
## 3.2.0
|
|
184
|
-
|
|
185
|
-
### Patch Changes
|
|
186
|
-
|
|
187
|
-
- Updated dependencies [dc9ac8a]
|
|
188
|
-
- @atomicfinance/types@3.2.0
|
|
189
|
-
- @atomicfinance/bitcoin-utils@3.2.0
|
|
190
|
-
- @atomicfinance/errors@3.2.0
|
|
191
|
-
- @atomicfinance/jsonrpc-provider@3.2.0
|
|
192
|
-
- @atomicfinance/utils@3.2.0
|
|
193
|
-
|
|
194
|
-
## 3.1.1
|
|
195
|
-
|
|
196
|
-
### Patch Changes
|
|
197
|
-
|
|
198
|
-
- @atomicfinance/bitcoin-utils@3.1.1
|
|
199
|
-
- @atomicfinance/errors@3.1.1
|
|
200
|
-
- @atomicfinance/jsonrpc-provider@3.1.1
|
|
201
|
-
- @atomicfinance/types@3.1.1
|
|
202
|
-
- @atomicfinance/utils@3.1.1
|
|
203
|
-
|
|
204
|
-
## 3.1.0
|
|
205
|
-
|
|
206
|
-
### Patch Changes
|
|
207
|
-
|
|
208
|
-
- Updated dependencies [c60033b]
|
|
209
|
-
- @atomicfinance/types@3.1.0
|
|
210
|
-
- @atomicfinance/bitcoin-utils@3.1.0
|
|
211
|
-
- @atomicfinance/errors@3.1.0
|
|
212
|
-
- @atomicfinance/jsonrpc-provider@3.1.0
|
|
213
|
-
- @atomicfinance/utils@3.1.0
|
|
214
|
-
|
|
215
|
-
## 3.0.1
|
|
216
|
-
|
|
217
|
-
### Patch Changes
|
|
218
|
-
|
|
219
|
-
- @atomicfinance/bitcoin-utils@3.0.1
|
|
220
|
-
- @atomicfinance/errors@3.0.1
|
|
221
|
-
- @atomicfinance/jsonrpc-provider@3.0.1
|
|
222
|
-
- @atomicfinance/types@3.0.1
|
|
223
|
-
- @atomicfinance/utils@3.0.1
|
|
224
|
-
|
|
225
|
-
## 3.0.0
|
|
226
|
-
|
|
227
|
-
### Major Changes
|
|
228
|
-
|
|
229
|
-
- 2edf70f: Port over bitcoin RPC related providers
|
|
230
|
-
|
|
231
|
-
### Patch Changes
|
|
232
|
-
|
|
233
|
-
- Updated dependencies [2edf70f]
|
|
234
|
-
- Updated dependencies [a06082e]
|
|
235
|
-
- @atomicfinance/jsonrpc-provider@3.0.0
|
|
236
|
-
- @atomicfinance/types@3.0.0
|
|
237
|
-
- @atomicfinance/bitcoin-utils@3.0.0
|
|
238
|
-
- @atomicfinance/errors@3.0.0
|
|
239
|
-
- @atomicfinance/utils@3.0.0
|