UNPKG

@tatumio/tatum-v1

Version:

Tatum API client allows browsers and Node.js clients to interact with Tatum API.

149 lines 13.6 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const model_1 = require("../model"); const litecoin_1 = require("./litecoin"); const TransferBtcLtcBlockchain_1 = require("../model/request/TransferBtcLtcBlockchain"); describe('LTC transactions', () => { describe('Change address and fee support', () => { it('Should prepare tx with change address and fee', async () => { process.env.TATUM_API_KEY = '4966d428-9507-45cb-9f90-02cca00674bd'; const body = new TransferBtcLtcBlockchain_1.TransferBtcLtcBlockchain(); body.fromAddress = [{ address: 'mxZhDaGuFLL3jBKsxGfzd1DnRDLYQagqbo', privateKey: 'cQ4WBAs4PvXphpV6ezUHqo5QhBPPsJKtHhaBSJy5TtJoV2qs4koP', }]; body.to = [{ address: 'mqyiRxb4wMbTFHtgqDyLRwBT6z82tUktDF', value: 0.1 }]; body.fee = '0.005'; body.changeAddress = 'mxZhDaGuFLL3jBKsxGfzd1DnRDLYQagqbo'; const txData = await litecoin_1.prepareLitecoinSignedTransaction(true, body); expect(txData).toBe('0200000001d3c8db438a253cb9bdf6ff440848e79cb71c5d197f37185de3df379c3a33504f000000006b483045022100dfa3cf9e826d457f36bd622b51107bc1aa14d55d0ba6f6cc95f597a6be9c068402207ea536d16e1512d8efaa9d89cf9af10a6d068030c9f88a670aa65abcbd9e1c8201210234166c1b874af0faa08b1145ff3dbc31358c0eb35ec6d461000466f5f80b22ecffffffff0280969800000000001976a91472c0ea7cf5ab9299169798c776a14c958444875a88ace08b2901000000001976a914bafecce5010ae353c2c7d7298e14f6e5d8950d2888ac00000000'); }); it('fail - only changeAddress', async () => { process.env.TATUM_API_KEY = '8a66adad-9e68-4f5b-a9b9-8efd971a14d3'; try { const body = new TransferBtcLtcBlockchain_1.TransferBtcLtcBlockchain(); body.fromAddress = [{ address: 'mxZhDaGuFLL3jBKsxGfzd1DnRDLYQagqbo', privateKey: 'cQ4WBAs4PvXphpV6ezUHqo5QhBPPsJKtHhaBSJy5TtJoV2qs4koP', }]; body.to = [{ address: 'mqyiRxb4wMbTFHtgqDyLRwBT6z82tUktDF', value: 0.1 }]; body.changeAddress = 'n4YQ6pLeKpzWc2nA9Zr8yMq54zetToWzKq'; await litecoin_1.prepareLitecoinSignedTransaction(true, body); fail('Validation did not pass.'); } catch (e) { console.log(e); } }); it('fail - only fee', async () => { process.env.TATUM_API_KEY = '8a66adad-9e68-4f5b-a9b9-8efd971a14d3'; try { const body = new TransferBtcLtcBlockchain_1.TransferBtcLtcBlockchain(); body.fromAddress = [{ address: 'mxZhDaGuFLL3jBKsxGfzd1DnRDLYQagqbo', privateKey: 'cQ4WBAs4PvXphpV6ezUHqo5QhBPPsJKtHhaBSJy5TtJoV2qs4koP', }]; body.to = [{ address: 'mqyiRxb4wMbTFHtgqDyLRwBT6z82tUktDF', value: 0.1 }]; body.fee = '0.005'; await litecoin_1.prepareLitecoinSignedTransaction(true, body); fail('Validation did not pass.'); } catch (e) { console.log(e); } }); it('Should generate the same output for changeaddress/fee and to clause', async () => { process.env.TATUM_API_KEY = '8a66adad-9e68-4f5b-a9b9-8efd971a14d3'; const bodyWithChangeAddressFee = new TransferBtcLtcBlockchain_1.TransferBtcLtcBlockchain(); bodyWithChangeAddressFee.fromAddress = [{ address: 'mxZhDaGuFLL3jBKsxGfzd1DnRDLYQagqbo', privateKey: 'cQ4WBAs4PvXphpV6ezUHqo5QhBPPsJKtHhaBSJy5TtJoV2qs4koP', }]; bodyWithChangeAddressFee.to = [{ address: 'mqyiRxb4wMbTFHtgqDyLRwBT6z82tUktDF', value: 0.1 }]; bodyWithChangeAddressFee.fee = '0.005'; bodyWithChangeAddressFee.changeAddress = 'mxZhDaGuFLL3jBKsxGfzd1DnRDLYQagqbo'; const txDataChangeAddressFee = await litecoin_1.prepareLitecoinSignedTransaction(true, bodyWithChangeAddressFee); const bodyWithTo = new model_1.TransferBtcBasedBlockchain(); bodyWithTo.fromAddress = [{ address: 'mxZhDaGuFLL3jBKsxGfzd1DnRDLYQagqbo', privateKey: 'cQ4WBAs4PvXphpV6ezUHqo5QhBPPsJKtHhaBSJy5TtJoV2qs4koP', }]; bodyWithTo.to = [{ address: 'mqyiRxb4wMbTFHtgqDyLRwBT6z82tUktDF', value: 0.1 }, { address: 'mxZhDaGuFLL3jBKsxGfzd1DnRDLYQagqbo', value: 0.195 }]; const txDataToClause = await litecoin_1.prepareLitecoinSignedTransaction(true, bodyWithTo); expect(txDataToClause).toBe(txDataChangeAddressFee); }); }); it('should test LTC transaction data', async () => { process.env.TATUM_API_KEY = '8a66adad-9e68-4f5b-a9b9-8efd971a14d3'; const body = new model_1.TransferBtcBasedBlockchain(); body.fromUTXO = [{ txHash: '6670c707ca96d44531846b9853fb49dd26f43ff9197722ba55e21cb40722b807', index: 1, privateKey: 'cVX7YtgL5muLTPncHFhP95oitV1mqUUA5VeSn8HeCRJbPqipzobf', }]; body.to = [{ address: 'mfh8kjy36ppH7bGXTzUwhWbKGgZziq4CbF', value: 0.2969944 }]; const txData = await litecoin_1.prepareLitecoinSignedTransaction(true, body); expect(txData).toBe('010000000107b82207b41ce255ba227719f93ff426dd49fb53986b843145d496ca07c770660100000000ffffffff01702dc501000000001976a91401ece42befef00eb643febc32cb0764563fb4e6988ac00000000'); }); it('should test LTC send transaction', async () => { process.env.TATUM_API_KEY = '8a66adad-9e68-4f5b-a9b9-8efd971a14d3'; const body = new model_1.TransferBtcBasedBlockchain(); body.fromUTXO = [{ txHash: '6670c707ca96d44531846b9853fb49dd26f43ff9197722ba55e21cb40722b807', index: 1, privateKey: 'cVX7YtgL5muLTPncHFhP95oitV1mqUUA5VeSn8HeCRJbPqipzobf', }]; body.to = [{ address: 'mfh8kjy36ppH7bGXTzUwhWbKGgZziq4CbF', value: 0.2969944 }]; const txData = await litecoin_1.sendLitecoinTransaction(true, body); console.log(txData); expect(txData).toHaveProperty('txId'); }); it('should not test LTC transaction data, fromAddress and fromUTXO present at the same time', async () => { const body = new model_1.TransferBtcBasedBlockchain(); body.fromUTXO = [{ txHash: '53faa103e8217e1520f5149a4e8c84aeb58e55bdab11164a95e69a8ca50f8fcc', index: 0, privateKey: 'cVX7YtgL5muLTPncHFhP95oitV1mqUUA5VeSn8HeCRJbPqipzobf', }]; body.fromAddress = [{ address: 'mjJotvHmzEuyXZJGJXXknS6N3PWQnw6jf5', privateKey: 'cVX7YtgL5muLTPncHFhP95oitV1mqUUA5VeSn8HeCRJbPqipzobf', }]; body.to = [{ address: 'mjJotvHmzEuyXZJGJXXknS6N3PWQnw6jf5', value: 0.02969944 }]; try { await litecoin_1.prepareLitecoinSignedTransaction(true, body); fail('Validation did not pass.'); } catch (e) { console.error(e); } }); }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGl0ZWNvaW4uc3BlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2FjdGlvbi9saXRlY29pbi5zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsb0NBQW1EO0FBQ25ELHlDQUFvRjtBQUNwRix3RkFBbUY7QUFFbkYsUUFBUSxDQUFDLGtCQUFrQixFQUFFLEdBQUcsRUFBRTtJQUNoQyxRQUFRLENBQUMsZ0NBQWdDLEVBQUUsR0FBRyxFQUFFO1FBQzlDLEVBQUUsQ0FBQywrQ0FBK0MsRUFBRSxLQUFLLElBQUksRUFBRTtZQUM3RCxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsR0FBRyxzQ0FBc0MsQ0FBQTtZQUNsRSxNQUFNLElBQUksR0FBRyxJQUFJLG1EQUF3QixFQUFFLENBQUE7WUFDM0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDO29CQUNsQixPQUFPLEVBQUUsb0NBQW9DO29CQUM3QyxVQUFVLEVBQUUsc0RBQXNEO2lCQUNuRSxDQUFDLENBQUE7WUFDRixJQUFJLENBQUMsRUFBRSxHQUFHLENBQUM7b0JBQ1QsT0FBTyxFQUFFLG9DQUFvQztvQkFDN0MsS0FBSyxFQUFFLEdBQUc7aUJBQ1gsQ0FBQyxDQUFBO1lBQ0YsSUFBSSxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUE7WUFDbEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxvQ0FBb0MsQ0FBQTtZQUN6RCxNQUFNLE1BQU0sR0FBRyxNQUFNLDJDQUFnQyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQTtZQUNqRSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLHNjQUFzYyxDQUFDLENBQUE7UUFDN2QsQ0FBQyxDQUFDLENBQUE7UUFFRixFQUFFLENBQUMsMkJBQTJCLEVBQUUsS0FBSyxJQUFJLEVBQUU7WUFDekMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLEdBQUcsc0NBQXNDLENBQUE7WUFDbEUsSUFBSTtnQkFDRixNQUFNLElB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