@tatumio/bch 2.0.1-alpha.308 → 2.0.1-alpha.310
Sign up to get free protection for your applications and to get access to all the features.
- package/package.json +9 -8
- package/src/lib/bch.sdk.tx.js +15 -2
- package/src/lib/bch.sdk.tx.js.map +1 -1
package/package.json
CHANGED
@@ -1,20 +1,20 @@
|
|
1
1
|
{
|
2
2
|
"name": "@tatumio/bch",
|
3
|
-
"version": "2.0.1-alpha.
|
3
|
+
"version": "2.0.1-alpha.310",
|
4
4
|
"license": "MIT",
|
5
5
|
"main": "./src/index.js",
|
6
6
|
"typings": "./src/index.d.ts",
|
7
7
|
"dependencies": {
|
8
|
-
"@tatumio/shared-testing-common": "2.0.1-alpha.
|
9
|
-
"@tatumio/api-client": "2.0.1-alpha.
|
8
|
+
"@tatumio/shared-testing-common": "2.0.1-alpha.310",
|
9
|
+
"@tatumio/api-client": "2.0.1-alpha.310",
|
10
10
|
"axios": "^0.26.0",
|
11
11
|
"form-data": "^4.0.0",
|
12
|
-
"@tatumio/shared-testing-btc-based": "2.0.1-alpha.
|
13
|
-
"@tatumio/shared-blockchain-btc-based": "2.0.1-alpha.
|
14
|
-
"@tatumio/shared-abstract-sdk": "2.0.1-alpha.
|
12
|
+
"@tatumio/shared-testing-btc-based": "2.0.1-alpha.310",
|
13
|
+
"@tatumio/shared-blockchain-btc-based": "2.0.1-alpha.310",
|
14
|
+
"@tatumio/shared-abstract-sdk": "2.0.1-alpha.310",
|
15
15
|
"bignumber.js": "^9.0.2",
|
16
|
-
"@tatumio/shared-core": "2.0.1-alpha.
|
17
|
-
"@tatumio/shared-blockchain-abstract": "2.0.1-alpha.
|
16
|
+
"@tatumio/shared-core": "2.0.1-alpha.310",
|
17
|
+
"@tatumio/shared-blockchain-abstract": "2.0.1-alpha.310",
|
18
18
|
"bip32": "^2.0.5",
|
19
19
|
"bip39": "^3.0.2",
|
20
20
|
"bitcoinjs-lib": "^5.2.0",
|
@@ -22,6 +22,7 @@
|
|
22
22
|
"bitcore-lib": "8.25.8",
|
23
23
|
"coininfo": "^5.1.0",
|
24
24
|
"@tatumio/bitcoincashjs2-lib": "^4.1.2",
|
25
|
+
"lodash": "^4.17.21",
|
25
26
|
"cashaddrjs": "^0.4.4"
|
26
27
|
},
|
27
28
|
"peerDependencies": {}
|
package/src/lib/bch.sdk.tx.js
CHANGED
@@ -11,6 +11,7 @@ const coininfo = (0, tslib_1.__importStar)(require("coininfo"));
|
|
11
11
|
// @ts-ignore
|
12
12
|
const BitcoinCashJS = (0, tslib_1.__importStar)(require("@tatumio/bitcoincashjs2-lib"));
|
13
13
|
const bignumber_js_1 = (0, tslib_1.__importDefault)(require("bignumber.js"));
|
14
|
+
const lodash_1 = (0, tslib_1.__importDefault)(require("lodash"));
|
14
15
|
const sendTransaction = (body, args) => (0, tslib_1.__awaiter)(void 0, void 0, void 0, function* () {
|
15
16
|
return api_client_1.ApiServices.blockchain.bcash.bchBroadcast({
|
16
17
|
txData: yield prepareSignedTransaction(body, args),
|
@@ -18,7 +19,7 @@ const sendTransaction = (body, args) => (0, tslib_1.__awaiter)(void 0, void 0, v
|
|
18
19
|
});
|
19
20
|
// @TODO add support - by address
|
20
21
|
const prepareSignedTransaction = (body, args) => (0, tslib_1.__awaiter)(void 0, void 0, void 0, function* () {
|
21
|
-
var _a, _b;
|
22
|
+
var _a, _b, _c;
|
22
23
|
try {
|
23
24
|
const network = args.testnet
|
24
25
|
? coininfo.bitcoincash.test.toBitcoinJS()
|
@@ -26,6 +27,7 @@ const prepareSignedTransaction = (body, args) => (0, tslib_1.__awaiter)(void 0,
|
|
26
27
|
const transactionBuilder = new BitcoinCashJS.TransactionBuilder(network);
|
27
28
|
const privateKeysToSign = [];
|
28
29
|
const amountToSign = [];
|
30
|
+
const outputs = [];
|
29
31
|
const txs = yield getTransactions(body.fromUTXO.map((u) => u.txHash));
|
30
32
|
for (const [i, item] of body.fromUTXO.entries()) {
|
31
33
|
transactionBuilder.addInput(item.txHash, item.index, 0xffffffff, null);
|
@@ -43,8 +45,19 @@ const prepareSignedTransaction = (body, args) => (0, tslib_1.__awaiter)(void 0,
|
|
43
45
|
}
|
44
46
|
}
|
45
47
|
body.to.forEach((item) => {
|
46
|
-
|
48
|
+
const value = shared_abstract_sdk_1.amountUtils.toSatoshis(item.value);
|
49
|
+
transactionBuilder.addOutput(bch_address_1.bcashAddressHelper.getAddress(item.address), value);
|
50
|
+
outputs.push(value);
|
47
51
|
});
|
52
|
+
// send the change to change address
|
53
|
+
if (body.changeAddress) {
|
54
|
+
const sumOfInputs = lodash_1.default.sum(amountToSign);
|
55
|
+
const sumOfOutputs = lodash_1.default.sum(outputs);
|
56
|
+
const defaultFee = 0.00001;
|
57
|
+
const txFee = shared_abstract_sdk_1.amountUtils.toSatoshis((_c = body.fee) !== null && _c !== void 0 ? _c : defaultFee);
|
58
|
+
const change = Number(new bignumber_js_1.default(sumOfInputs).minus(sumOfOutputs).minus(txFee));
|
59
|
+
transactionBuilder.addOutput(body.changeAddress, change);
|
60
|
+
}
|
48
61
|
verifyAmounts(amountToSign, body);
|
49
62
|
for (let i = 0; i < privateKeysToSign.length; i++) {
|
50
63
|
const ecPair = BitcoinCashJS.ECPair.fromWIF(privateKeysToSign[i], network);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"bch.sdk.tx.js","sourceRoot":"","sources":["../../../../../../packages/blockchain/bch/src/lib/bch.sdk.tx.ts"],"names":[],"mappings":";;;;AAAA,
|
1
|
+
{"version":3,"file":"bch.sdk.tx.js","sourceRoot":"","sources":["../../../../../../packages/blockchain/bch/src/lib/bch.sdk.tx.ts"],"names":[],"mappings":"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"}
|