@tatumio/bch 2.0.1-alpha.273 → 2.0.1-alpha.276
Sign up to get free protection for your applications and to get access to all the features.
- package/package.json +8 -8
- package/src/index.d.ts +1 -0
- package/src/index.js +1 -0
- package/src/index.js.map +1 -1
- package/src/lib/bch.sdk.d.ts +5 -5
- package/src/lib/bch.sdk.tx.js +12 -9
- package/src/lib/bch.sdk.tx.js.map +1 -1
- package/src/lib/bch.sdk.wallet.d.ts +5 -5
- package/src/lib/bch.sdk.wallet.js +2 -20
- package/src/lib/bch.sdk.wallet.js.map +1 -1
- package/src/lib/bch.wallet.utils.d.ts +2 -0
- package/src/lib/bch.wallet.utils.js +29 -0
- package/src/lib/bch.wallet.utils.js.map +1 -0
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.276",
|
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.276",
|
9
|
+
"@tatumio/api-client": "2.0.1-alpha.276",
|
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.276",
|
13
|
+
"@tatumio/shared-blockchain-btc-based": "2.0.1-alpha.276",
|
14
|
+
"@tatumio/shared-abstract-sdk": "2.0.1-alpha.276",
|
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.276",
|
17
|
+
"@tatumio/shared-blockchain-abstract": "2.0.1-alpha.276",
|
18
18
|
"bip32": "^2.0.5",
|
19
19
|
"bip39": "^3.0.2",
|
20
20
|
"bitcoinjs-lib": "^5.2.0",
|
package/src/index.d.ts
CHANGED
package/src/index.js
CHANGED
@@ -6,4 +6,5 @@ const tslib_1 = require("tslib");
|
|
6
6
|
(0, tslib_1.__exportStar)(require("./lib/bch.sdk.wallet"), exports);
|
7
7
|
var bch_sdk_tx_1 = require("./lib/bch.sdk.tx");
|
8
8
|
Object.defineProperty(exports, "bchTransactions", { enumerable: true, get: function () { return bch_sdk_tx_1.bchTransactions; } });
|
9
|
+
(0, tslib_1.__exportStar)(require("./lib/bch.wallet.utils"), exports);
|
9
10
|
//# sourceMappingURL=index.js.map
|
package/src/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/blockchain/bch/src/index.ts"],"names":[],"mappings":";;;;AAAA,6DAA6B;AAC7B,oEAAoC;AACpC,+CAAuE;AAAzC,6GAAA,eAAe,OAAA"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/blockchain/bch/src/index.ts"],"names":[],"mappings":";;;;AAAA,6DAA6B;AAC7B,oEAAoC;AACpC,+CAAuE;AAAzC,6GAAA,eAAe,OAAA;AAC7C,sEAAsC"}
|
package/src/lib/bch.sdk.d.ts
CHANGED
@@ -2,15 +2,15 @@ import { BitcoinCashService } from '@tatumio/api-client';
|
|
2
2
|
import { SDKArguments } from '@tatumio/shared-abstract-sdk';
|
3
3
|
export declare const TatumBchSDK: (args: SDKArguments) => {
|
4
4
|
wallet: {
|
5
|
-
generateAddressFromXPub
|
5
|
+
generateAddressFromXPub(xpub: string, i: number, options?: {
|
6
6
|
testnet: boolean;
|
7
|
-
})
|
8
|
-
generateAddressFromPrivateKey: (privateKey: string, options?: {
|
9
|
-
testnet: boolean;
|
10
|
-
}) => string;
|
7
|
+
}): string;
|
11
8
|
generatePrivateKeyFromMnemonic(mnemonic: string, i: number, options?: {
|
12
9
|
testnet: boolean;
|
13
10
|
}): Promise<string>;
|
11
|
+
generateAddressFromPrivateKey(privateKey: string, options?: {
|
12
|
+
testnet: boolean;
|
13
|
+
}): string;
|
14
14
|
generateWallet(mnemonic?: string, options?: {
|
15
15
|
testnet: boolean;
|
16
16
|
}): Promise<import("@tatumio/api-client").TronWallet>;
|
package/src/lib/bch.sdk.tx.js
CHANGED
@@ -6,8 +6,10 @@ const api_client_1 = require("@tatumio/api-client");
|
|
6
6
|
const bch_address_1 = require("./utils/bch.address");
|
7
7
|
const bch_sdk_errors_1 = require("./bch.sdk.errors");
|
8
8
|
const shared_abstract_sdk_1 = require("@tatumio/shared-abstract-sdk");
|
9
|
-
|
10
|
-
const
|
9
|
+
// @ts-ignore
|
10
|
+
const coininfo = (0, tslib_1.__importStar)(require("coininfo"));
|
11
|
+
// @ts-ignore
|
12
|
+
const BitcoinCashJS = (0, tslib_1.__importStar)(require("@tatumio/bitcoincashjs2-lib"));
|
11
13
|
const bignumber_js_1 = (0, tslib_1.__importDefault)(require("bignumber.js"));
|
12
14
|
const sendTransaction = (body, args) => (0, tslib_1.__awaiter)(void 0, void 0, void 0, function* () {
|
13
15
|
return api_client_1.ApiServices.blockchain.bcash.bchBroadcast({
|
@@ -16,11 +18,12 @@ const sendTransaction = (body, args) => (0, tslib_1.__awaiter)(void 0, void 0, v
|
|
16
18
|
});
|
17
19
|
// @TODO add support - by address
|
18
20
|
const prepareSignedTransaction = (body, args) => (0, tslib_1.__awaiter)(void 0, void 0, void 0, function* () {
|
21
|
+
var _a, _b;
|
19
22
|
try {
|
20
23
|
const network = args.testnet
|
21
|
-
?
|
22
|
-
:
|
23
|
-
const transactionBuilder = new
|
24
|
+
? coininfo.bitcoincash.test.toBitcoinJS()
|
25
|
+
: coininfo.bitcoincash.main.toBitcoinJS();
|
26
|
+
const transactionBuilder = new BitcoinCashJS.TransactionBuilder(network);
|
24
27
|
const privateKeysToSign = [];
|
25
28
|
const amountToSign = [];
|
26
29
|
const txs = yield getTransactions(body.fromUTXO.map((u) => u.txHash));
|
@@ -30,8 +33,8 @@ const prepareSignedTransaction = (body, args) => (0, tslib_1.__awaiter)(void 0,
|
|
30
33
|
privateKeysToSign.push(item.signatureId);
|
31
34
|
else if ('privateKey' in item)
|
32
35
|
privateKeysToSign.push(item.privateKey);
|
33
|
-
const vout = txs[i].vout[item.index];
|
34
|
-
if (!vout)
|
36
|
+
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];
|
37
|
+
if (!vout || !vout.value)
|
35
38
|
throw new bch_sdk_errors_1.BchSdkError(shared_abstract_sdk_1.SdkErrorCode.BTC_BASED_UTXO_NOT_FOUND);
|
36
39
|
amountToSign.push(shared_abstract_sdk_1.amountUtils.toSatoshis(vout.value));
|
37
40
|
const fromUTXO = body.fromUTXO;
|
@@ -44,8 +47,8 @@ const prepareSignedTransaction = (body, args) => (0, tslib_1.__awaiter)(void 0,
|
|
44
47
|
});
|
45
48
|
verifyAmounts(amountToSign, body);
|
46
49
|
for (let i = 0; i < privateKeysToSign.length; i++) {
|
47
|
-
const ecPair =
|
48
|
-
transactionBuilder.sign(i, ecPair, undefined, 0x01, amountToSign[i], undefined,
|
50
|
+
const ecPair = BitcoinCashJS.ECPair.fromWIF(privateKeysToSign[i], network);
|
51
|
+
transactionBuilder.sign(i, ecPair, undefined, 0x01, amountToSign[i], undefined, BitcoinCashJS.ECSignature.SCHNORR);
|
49
52
|
}
|
50
53
|
return transactionBuilder.build().toHex();
|
51
54
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"bch.sdk.tx.js","sourceRoot":"","sources":["../../../../../../packages/blockchain/bch/src/lib/bch.sdk.tx.ts"],"names":[],"mappings":";;;;AAAA,oDAM4B;AAC5B,qDAAwD;AACxD,qDAA8C;AAC9C,sEAAwE;
|
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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"}
|
@@ -1,13 +1,13 @@
|
|
1
1
|
export declare const bchWallet: () => {
|
2
|
-
generateAddressFromXPub
|
2
|
+
generateAddressFromXPub(xpub: string, i: number, options?: {
|
3
3
|
testnet: boolean;
|
4
|
-
})
|
5
|
-
generateAddressFromPrivateKey: (privateKey: string, options?: {
|
6
|
-
testnet: boolean;
|
7
|
-
}) => string;
|
4
|
+
}): string;
|
8
5
|
generatePrivateKeyFromMnemonic(mnemonic: string, i: number, options?: {
|
9
6
|
testnet: boolean;
|
10
7
|
}): Promise<string>;
|
8
|
+
generateAddressFromPrivateKey(privateKey: string, options?: {
|
9
|
+
testnet: boolean;
|
10
|
+
}): string;
|
11
11
|
generateWallet(mnemonic?: string, options?: {
|
12
12
|
testnet: boolean;
|
13
13
|
}): Promise<import("../../../../../dist/packages/api-client/src").TronWallet>;
|
@@ -1,29 +1,11 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.bchWallet = void 0;
|
4
|
-
const tslib_1 = require("tslib");
|
5
4
|
const shared_core_1 = require("@tatumio/shared-core");
|
6
|
-
const bitcoincashjs2_lib_1 = (0, tslib_1.__importDefault)(require("@tatumio/bitcoincashjs2-lib"));
|
7
|
-
const cashaddrjs_1 = (0, tslib_1.__importDefault)(require("cashaddrjs"));
|
8
5
|
const shared_blockchain_btc_based_1 = require("@tatumio/shared-blockchain-btc-based");
|
9
|
-
const
|
10
|
-
const bitcoinjs_lib_1 = require("bitcoinjs-lib");
|
6
|
+
const bch_wallet_utils_1 = require("./bch.wallet.utils");
|
11
7
|
const bchWallet = () => {
|
12
|
-
|
13
|
-
const btcBased = (0, shared_blockchain_btc_based_1.btcBasedWallet)({ blockchain });
|
14
|
-
return Object.assign(Object.assign({}, btcBased), { generateAddressFromXPub: (xpub, i, options) => {
|
15
|
-
const network = shared_core_1.blockchainUtils.getNetworkConfig(blockchain, options);
|
16
|
-
const hdNode = bitcoincashjs2_lib_1.default.HDNode.fromBase58(xpub, network);
|
17
|
-
const legacy = hdNode.derivePath(String(i)).getAddress();
|
18
|
-
const decoded = bch_address_1.bcashAddressHelper.decode(legacy);
|
19
|
-
return cashaddrjs_1.default.encode(decoded.prefix, decoded.type, decoded.hash);
|
20
|
-
}, generateAddressFromPrivateKey: (privateKey, options) => {
|
21
|
-
const network = shared_core_1.blockchainUtils.getNetworkConfig(blockchain, options);
|
22
|
-
const keyPair = bitcoinjs_lib_1.ECPair.fromWIF(privateKey, network);
|
23
|
-
const legacy = bitcoinjs_lib_1.payments.p2pkh({ pubkey: keyPair.publicKey, network }).address;
|
24
|
-
const decoded = bch_address_1.bcashAddressHelper.decode(legacy);
|
25
|
-
return cashaddrjs_1.default.encode(decoded.prefix, decoded.type, decoded.hash);
|
26
|
-
} });
|
8
|
+
return (0, shared_blockchain_btc_based_1.btcBasedWallet)({ blockchain: shared_core_1.Blockchain.BCH, utils: (0, bch_wallet_utils_1.bchWalletUtils)() });
|
27
9
|
};
|
28
10
|
exports.bchWallet = bchWallet;
|
29
11
|
//# sourceMappingURL=bch.sdk.wallet.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"bch.sdk.wallet.js","sourceRoot":"","sources":["../../../../../../packages/blockchain/bch/src/lib/bch.sdk.wallet.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"bch.sdk.wallet.js","sourceRoot":"","sources":["../../../../../../packages/blockchain/bch/src/lib/bch.sdk.wallet.ts"],"names":[],"mappings":";;;AAAA,sDAAiD;AAEjD,sFAAqE;AACrE,yDAAmD;AAE5C,MAAM,SAAS,GAAG,GAAG,EAAE;IAC5B,OAAO,IAAA,4CAAc,EAAC,EAAE,UAAU,EAAE,wBAAU,CAAC,GAAG,EAAE,KAAK,EAAE,IAAA,iCAAc,GAAE,EAAE,CAAC,CAAA;AAChF,CAAC,CAAA;AAFY,QAAA,SAAS,aAErB"}
|
@@ -0,0 +1,29 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.bchWalletUtils = void 0;
|
4
|
+
const tslib_1 = require("tslib");
|
5
|
+
const shared_core_1 = require("@tatumio/shared-core");
|
6
|
+
// @ts-ignore
|
7
|
+
const BitcoinChashJS = (0, tslib_1.__importStar)(require("@tatumio/bitcoincashjs2-lib"));
|
8
|
+
const cashaddrjs_1 = (0, tslib_1.__importDefault)(require("cashaddrjs"));
|
9
|
+
const shared_blockchain_btc_based_1 = require("@tatumio/shared-blockchain-btc-based");
|
10
|
+
const bch_address_1 = require("./utils/bch.address");
|
11
|
+
const bitcoinjs_lib_1 = require("bitcoinjs-lib");
|
12
|
+
const bchWalletUtils = () => {
|
13
|
+
const blockchain = shared_core_1.Blockchain.BCH;
|
14
|
+
return Object.assign(Object.assign({}, (0, shared_blockchain_btc_based_1.btcBasedWalletUtils)(blockchain)), { generateAddressFromXPub: (xpub, i, options) => {
|
15
|
+
const network = shared_core_1.blockchainUtils.getNetworkConfig(blockchain, options);
|
16
|
+
const hdNode = BitcoinChashJS.HDNode.fromBase58(xpub, network);
|
17
|
+
const legacy = hdNode.derivePath(String(i)).getAddress();
|
18
|
+
const decoded = bch_address_1.bcashAddressHelper.decode(legacy);
|
19
|
+
return cashaddrjs_1.default.encode(decoded.prefix, decoded.type, decoded.hash);
|
20
|
+
}, generateAddressFromPrivateKey: (privateKey, options) => {
|
21
|
+
const network = shared_core_1.blockchainUtils.getNetworkConfig(blockchain, options);
|
22
|
+
const keyPair = bitcoinjs_lib_1.ECPair.fromWIF(privateKey, network);
|
23
|
+
const legacy = bitcoinjs_lib_1.payments.p2pkh({ pubkey: keyPair.publicKey, network }).address;
|
24
|
+
const decoded = bch_address_1.bcashAddressHelper.decode(legacy); // @TODO check if null
|
25
|
+
return cashaddrjs_1.default.encode(decoded.prefix, decoded.type, decoded.hash);
|
26
|
+
} });
|
27
|
+
};
|
28
|
+
exports.bchWalletUtils = bchWalletUtils;
|
29
|
+
//# sourceMappingURL=bch.wallet.utils.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"bch.wallet.utils.js","sourceRoot":"","sources":["../../../../../../packages/blockchain/bch/src/lib/bch.wallet.utils.ts"],"names":[],"mappings":";;;;AAAA,sDAAkE;AAElE,aAAa;AACb,yFAA6D;AAC7D,yEAAiC;AACjC,sFAA+F;AAC/F,qDAAwD;AACxD,iDAAgD;AAEzC,MAAM,cAAc,GAAG,GAAwB,EAAE;IACtD,MAAM,UAAU,GAAG,wBAAU,CAAC,GAAG,CAAA;IACjC,uCACK,IAAA,iDAAmB,EAAC,UAAU,CAAC,KAClC,uBAAuB,EAAE,CAAC,IAAY,EAAE,CAAS,EAAE,OAA8B,EAAU,EAAE;YAC3F,MAAM,OAAO,GAAG,6BAAe,CAAC,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;YACrE,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;YAC9D,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAA;YAExD,MAAM,OAAO,GAAG,gCAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAEjD,OAAO,oBAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;QACpE,CAAC,EACD,6BAA6B,EAAE,CAAC,UAAkB,EAAE,OAA8B,EAAU,EAAE;YAC5F,MAAM,OAAO,GAAG,6BAAe,CAAC,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;YACrE,MAAM,OAAO,GAAG,sBAAM,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;YACnD,MAAM,MAAM,GAAG,wBAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,CAAA;YAC7E,MAAM,OAAO,GAAG,gCAAkB,CAAC,MAAM,CAAC,MAAO,CAAC,CAAA,CAAC,sBAAsB;YAEzE,OAAO,oBAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;QACpE,CAAC,IACF;AACH,CAAC,CAAA;AAtBY,QAAA,cAAc,kBAsB1B"}
|