@tatumio/bch 2.2.17 → 2.2.19

Sign up to get free protection for your applications and to get access to all the features.
package/package.json CHANGED
@@ -1,20 +1,20 @@
1
1
  {
2
2
  "name": "@tatumio/bch",
3
- "version": "2.2.17",
3
+ "version": "2.2.19",
4
4
  "license": "MIT",
5
5
  "main": "./src/index.js",
6
6
  "types": "./src/index.d.ts",
7
7
  "dependencies": {
8
- "@tatumio/api-client": "2.2.17",
8
+ "@tatumio/api-client": "2.2.19",
9
9
  "axios": "^0.26.0",
10
10
  "form-data": "^4.0.0",
11
- "@tatumio/shared-testing-common": "2.2.17",
12
- "@tatumio/shared-abstract-sdk": "2.2.17",
11
+ "@tatumio/shared-testing-common": "2.2.19",
12
+ "@tatumio/shared-abstract-sdk": "2.2.19",
13
13
  "bignumber.js": "^9.0.2",
14
- "@tatumio/shared-core": "2.2.17",
14
+ "@tatumio/shared-core": "2.2.19",
15
15
  "lodash": "^4.17.21",
16
- "@tatumio/shared-blockchain-btc-based": "2.2.17",
17
- "@tatumio/shared-blockchain-abstract": "2.2.17",
16
+ "@tatumio/shared-blockchain-btc-based": "2.2.19",
17
+ "@tatumio/shared-blockchain-abstract": "2.2.19",
18
18
  "bip32": "^2.0.5",
19
19
  "bip39": "^3.0.2",
20
20
  "bitcoinjs-lib": "^5.2.0",
@@ -2,7 +2,7 @@ import { SdkError, SdkErrorCode } from '@tatumio/shared-abstract-sdk';
2
2
  export declare const BCH_ERRORS_MAPPING: {
3
3
  'Transaction has absurd fees': SdkErrorCode;
4
4
  };
5
- export declare type BchSdkErrorCode = SdkErrorCode.BTC_BASED_FEE_TOO_SMALL | SdkErrorCode.BTC_BASED_UTXO_NOT_FOUND | SdkErrorCode.BTC_BASED_NOT_ENOUGH_BALANCE | SdkErrorCode.BTC_BASED_WRONG_BODY | SdkErrorCode.KMS_CHAIN_MISMATCH | SdkErrorCode.BTC_BASED_TX_PREPARATION_UTXO | SdkErrorCode.BTC_BASED_DESTINATION_LESS_THAN_ZERO | SdkErrorCode.BTC_BASED_MNEMONIC_OR_KEYPAIR_EXPECTED | SdkErrorCode.BTC_BASED_TX_FAILED | SdkErrorCode.BTC_BASED_BLOCKCHAIN_ERROR;
5
+ export declare type BchSdkErrorCode = SdkErrorCode.BTC_BASED_FEE_TOO_SMALL | SdkErrorCode.BTC_BASED_UTXO_NOT_FOUND | SdkErrorCode.BTC_BASED_NOT_ENOUGH_BALANCE | SdkErrorCode.BTC_BASED_WRONG_BODY | SdkErrorCode.KMS_CHAIN_MISMATCH | SdkErrorCode.BTC_BASED_TX_PREPARATION_UTXO | SdkErrorCode.BTC_BASED_DESTINATION_LESS_THAN_ZERO | SdkErrorCode.BTC_BASED_MNEMONIC_OR_KEYPAIR_EXPECTED | SdkErrorCode.BTC_BASED_TX_FAILED | SdkErrorCode.BTC_BASED_BLOCKCHAIN_ERROR | SdkErrorCode.BTC_BASED_WRONG_PRIVATE_KEY;
6
6
  export declare class BchSdkError extends SdkError {
7
7
  constructor(error: Error | BchSdkErrorCode);
8
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bch.sdk.errors.js","sourceRoot":"","sources":["../../../../../../packages/blockchain/bch/src/lib/bch.sdk.errors.ts"],"names":[],"mappings":";;;AAAA,sEAAqE;AAExD,QAAA,kBAAkB,GAAG;IAChC,6BAA6B,EAAE,kCAAY,CAAC,oBAAoB;CACjE,CAAA;AAcD,MAAa,WAAY,SAAQ,8BAAQ;IACvC,YAAY,KAA8B;QACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,KAAK,CAAC;gBACJ,IAAI,EAAE,KAAK;aACZ,CAAC,CAAA;SACH;aAAM;YACL,KAAK,CAAC;gBACJ,aAAa,EAAE,KAAK;gBACpB,qBAAqB,EAAE,0BAAkB;aAC1C,CAAC,CAAA;SACH;IACH,CAAC;CACF;AAbD,kCAaC"}
1
+ {"version":3,"file":"bch.sdk.errors.js","sourceRoot":"","sources":["../../../../../../packages/blockchain/bch/src/lib/bch.sdk.errors.ts"],"names":[],"mappings":";;;AAAA,sEAAqE;AAExD,QAAA,kBAAkB,GAAG;IAChC,6BAA6B,EAAE,kCAAY,CAAC,oBAAoB;CACjE,CAAA;AAeD,MAAa,WAAY,SAAQ,8BAAQ;IACvC,YAAY,KAA8B;QACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,KAAK,CAAC;gBACJ,IAAI,EAAE,KAAK;aACZ,CAAC,CAAA;SACH;aAAM;YACL,KAAK,CAAC;gBACJ,aAAa,EAAE,KAAK;gBACpB,qBAAqB,EAAE,0BAAkB;aAC1C,CAAC,CAAA;SACH;IACH,CAAC;CACF;AAbD,kCAaC"}
@@ -11,15 +11,17 @@ const coininfo = tslib_1.__importStar(require("coininfo"));
11
11
  const BitcoinCashJS = tslib_1.__importStar(require("@tatumio/bitcoincashjs2-lib"));
12
12
  const bignumber_js_1 = tslib_1.__importDefault(require("bignumber.js"));
13
13
  const lodash_1 = tslib_1.__importDefault(require("lodash"));
14
+ const __1 = require("../..");
14
15
  const bchaddrjs_1 = tslib_1.__importDefault(require("bchaddrjs"));
15
16
  const bchTransactions = (apiCalls) => {
17
+ const utils = (0, __1.bchWalletUtils)();
16
18
  const sendTransaction = (body, args) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
17
19
  return api_client_1.ApiServices.blockchain.bcash.bchBroadcast({
18
20
  txData: yield prepareSignedTransaction(body, args),
19
21
  });
20
22
  });
21
23
  const prepareSignedTransaction = (body, args) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
22
- var _a, _b, _c;
24
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
23
25
  try {
24
26
  const network = args.testnet
25
27
  ? coininfo.bitcoincash.test.toBitcoinJS()
@@ -38,8 +40,19 @@ const bchTransactions = (apiCalls) => {
38
40
  }
39
41
  else if ('privateKey' in item) {
40
42
  privateKeysToSign.push(item.privateKey);
43
+ const addressFromUtxo = (_e = (_d = (_c = (_b = (_a = txs[i]) === null || _a === void 0 ? void 0 : _a.vout) === null || _b === void 0 ? void 0 : _b[item.index]) === null || _c === void 0 ? void 0 : _c.scriptPubKey) === null || _d === void 0 ? void 0 : _d.addresses) === null || _e === void 0 ? void 0 : _e[0];
44
+ if (addressFromUtxo) {
45
+ const addressFromPk = utils.generateAddressFromPrivateKey(item.privateKey, {
46
+ testnet: (_f = args.testnet) !== null && _f !== void 0 ? _f : false,
47
+ });
48
+ const legacyFromPk = bchaddrjs_1.default.toLegacyAddress(addressFromPk);
49
+ const legacyFromUtxo = bchaddrjs_1.default.toLegacyAddress(addressFromUtxo);
50
+ if (legacyFromUtxo !== legacyFromPk) {
51
+ throw new bch_sdk_errors_1.BchSdkError(shared_abstract_sdk_1.SdkErrorCode.BTC_BASED_WRONG_PRIVATE_KEY);
52
+ }
53
+ }
41
54
  }
42
- const vout = (_b = (_a = txs === null || txs === void 0 ? void 0 : txs[i]) === null || _a === void 0 ? void 0 : _a.vout) === null || _b === void 0 ? void 0 : _b[item.index];
55
+ const vout = (_h = (_g = txs === null || txs === void 0 ? void 0 : txs[i]) === null || _g === void 0 ? void 0 : _g.vout) === null || _h === void 0 ? void 0 : _h[item.index];
43
56
  if (!vout || !vout.value)
44
57
  throw new bch_sdk_errors_1.BchSdkError(shared_abstract_sdk_1.SdkErrorCode.BTC_BASED_UTXO_NOT_FOUND);
45
58
  amountToSign.push(shared_abstract_sdk_1.amountUtils.toSatoshis(vout.value));
@@ -55,7 +68,7 @@ const bchTransactions = (apiCalls) => {
55
68
  const sumOfInputs = lodash_1.default.sum(amountToSign);
56
69
  const sumOfOutputs = lodash_1.default.sum(outputs);
57
70
  const defaultFee = 0.00001;
58
- const txFee = shared_abstract_sdk_1.amountUtils.toSatoshis((_c = body.fee) !== null && _c !== void 0 ? _c : defaultFee);
71
+ const txFee = shared_abstract_sdk_1.amountUtils.toSatoshis((_j = body.fee) !== null && _j !== void 0 ? _j : defaultFee);
59
72
  const change = Number(new bignumber_js_1.default(sumOfInputs).minus(sumOfOutputs).minus(txFee));
60
73
  transactionBuilder.addOutput(bchaddrjs_1.default.toLegacyAddress(changeAddress), change);
61
74
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bch.sdk.tx.js","sourceRoot":"","sources":["../../../../../../../packages/blockchain/bch/src/lib/services/bch.sdk.tx.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bch.sdk.tx.js","sourceRoot":"","sources":["../../../../../../../packages/blockchain/bch/src/lib/services/bch.sdk.tx.ts"],"names":[],"mappings":"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"}