UNPKG

@tatumio/tatum-v1

Version:

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

172 lines 13.4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const model_1 = require("../model"); const dogecoin_1 = require("./dogecoin"); const assert_1 = require("assert"); describe('DOGE transactions', () => { it('should test DOGE - transaction data', async () => { const body = new model_1.TransferDogeBlockchain(); body.fromUTXO = [{ txHash: 'abb7dfbbbf58407b3774c58f24930cbd6d8cba730200f96cbe8f024d9f8879e5', address: 'nXz1s8tMQbqjARaSMNCPkgdwJQ2JDW2M7W', index: 1, value: '60.0819', privateKey: 'chAohgNcPWYSjPUhG7spHvHAE8yt86QvFmUAPgboFtKb4RnwB1L1', }]; body.fee = '1'; body.changeAddress = 'nXz1s8tMQbqjARaSMNCPkgdwJQ2JDW2M7W'; body.to = [{ address: 'nXz1s8tMQbqjARaSMNCPkgdwJQ2JDW2M7W', value: 58, }]; try { const txData = await dogecoin_1.prepareDogecoinSignedTransaction(body); expect(txData).toBe('0100000001e579889f4d028fbe6cf9000273ba8c6dbd0c93248fc574377b4058bfbbdfb7ab010000006a473044022042162432ec6f09dc0e259dde1a7643b0b2502aa77b92d9fad867801fee987223022010911ffa756f4da3bc52ef454fd9476453ed91e8cca8706dcce4fdc3ef79b0eb012102473ddfe2afe40c68b68ecb81036003df920503668188b744b7c72046a97000bbffffffff0200fab459010000001976a914299480256432f2372df6d66e21ed48b097797c9a88ac30d97206000000001976a914299480256432f2372df6d66e21ed48b097797c9a88ac00000000'); } catch (e) { console.error(e); assert_1.fail(); } }); it('should test DOGE - do not fail on dust amount', async () => { const body = new model_1.TransferDogeBlockchain(); body.fromUTXO = [{ txHash: 'abb7dfbbbf58407b3774c58f24930cbd6d8cba730200f96cbe8f024d9f8879e5', address: 'nXz1s8tMQbqjARaSMNCPkgdwJQ2JDW2M7W', index: 1, value: '60.0819', privateKey: 'chAohgNcPWYSjPUhG7spHvHAE8yt86QvFmUAPgboFtKb4RnwB1L1', }]; body.fee = '1'; body.changeAddress = 'nXz1s8tMQbqjARaSMNCPkgdwJQ2JDW2M7W'; body.to = [{ address: 'nXz1s8tMQbqjARaSMNCPkgdwJQ2JDW2M7W', value: 0.02, }]; try { const txData = await dogecoin_1.prepareDogecoinSignedTransaction(body); expect(txData).toBe('0100000001e579889f4d028fbe6cf9000273ba8c6dbd0c93248fc574377b4058bfbbdfb7ab010000006b483045022100c329a4792703a7e8acf9ffa1f5c2d40366859c53ddc36001c54c9acb4696e00902203b0fc72e86e512ccc36559cfd16bf83d279bd2b935ebe5c552c4a85c156cda8d012102473ddfe2afe40c68b68ecb81036003df920503668188b744b7c72046a97000bbffffffff0280841e00000000001976a914299480256432f2372df6d66e21ed48b097797c9a88acb04e0960010000001976a914299480256432f2372df6d66e21ed48b097797c9a88ac00000000'); } catch (e) { console.error(e); assert_1.fail(); } }); it('should test DOGE - transaction data to work with optional changeAddress and fee', async () => { const fromUTXO = [{ txHash: 'abb7dfbbbf58407b3774c58f24930cbd6d8cba730200f96cbe8f024d9f8879e5', address: 'nXz1s8tMQbqjARaSMNCPkgdwJQ2JDW2M7W', index: 1, value: '60.0819', privateKey: 'chAohgNcPWYSjPUhG7spHvHAE8yt86QvFmUAPgboFtKb4RnwB1L1', }]; try { const txDataNoChangeAddressSet = await dogecoin_1.prepareDogecoinSignedTransaction({ fromUTXO, to: [ { address: 'nXz1s8tMQbqjARaSMNCPkgdwJQ2JDW2M7W', value: 58, }, { address: 'nXz1s8tMQbqjARaSMNCPkgdwJQ2JDW2M7W', value: 1.0819, }, ], }); const txDataChangeAddressSet = await dogecoin_1.prepareDogecoinSignedTransaction({ fromUTXO, to: [ { address: 'nXz1s8tMQbqjARaSMNCPkgdwJQ2JDW2M7W', value: 58, } ], fee: '1', changeAddress: 'nXz1s8tMQbqjARaSMNCPkgdwJQ2JDW2M7W' }); const expectedTxData = '0100000001e579889f4d028fbe6cf9000273ba8c6dbd0c93248fc574377b4058bfbbdfb7ab010000006a473044022042162432ec6f09dc0e259dde1a7643b0b2502aa77b92d9fad867801fee987223022010911ffa756f4da3bc52ef454fd9476453ed91e8cca8706dcce4fdc3ef79b0eb012102473ddfe2afe40c68b68ecb81036003df920503668188b744b7c72046a97000bbffffffff0200fab459010000001976a914299480256432f2372df6d66e21ed48b097797c9a88ac30d97206000000001976a914299480256432f2372df6d66e21ed48b097797c9a88ac00000000'; expect(txDataNoChangeAddressSet).toBe(expectedTxData); expect(txDataChangeAddressSet).toBe(expectedTxData); } catch (e) { console.error(e); assert_1.fail(); } }); it('should test DOGE - prepare body should have both changeAddress and fee - no changeAddress', async () => { try { await dogecoin_1.prepareDogecoinSignedTransaction({ fromUTXO: [{ txHash: 'abb7dfbbbf58407b3774c58f24930cbd6d8cba730200f96cbe8f024d9f8879e5', address: 'nXz1s8tMQbqjARaSMNCPkgdwJQ2JDW2M7W', index: 1, value: '60.0819', privateKey: 'chAohgNcPWYSjPUhG7spHvHAE8yt86QvFmUAPgboFtKb4RnwB1L1', }], to: [ { address: 'nXz1s8tMQbqjARaSMNCPkgdwJQ2JDW2M7W', value: 58, } ], fee: '1', }); assert_1.fail(); } catch (e) { console.log(e); } }); it('should test DOGE - prepare body should have both changeAddress and fee - no fee', async () => { try { await dogecoin_1.prepareDogecoinSignedTransaction({ fromUTXO: [{ txHash: 'abb7dfbbbf58407b3774c58f24930cbd6d8cba730200f96cbe8f024d9f8879e5', address: 'nXz1s8tMQbqjARaSMNCPkgdwJQ2JDW2M7W', index: 1, value: '60.0819', privateKey: 'chAohgNcPWYSjPUhG7spHvHAE8yt86QvFmUAPgboFtKb4RnwB1L1', }], to: [ { address: 'nXz1s8tMQbqjARaSMNCPkgdwJQ2JDW2M7W', value: 58, } ], changeAddress: 'nXz1s8tMQbqjARaSMNCPkgdwJQ2JDW2M7W', }); assert_1.fail(); } catch (e) { console.log(e); } }); it('should test DOGE - send transaction', async () => { process.env.TATUM_API_KEY = '4966d428-9507-45cb-9f90-02cca00674bd'; const body = new model_1.TransferDogeBlockchain(); body.fromUTXO = [{ txHash: '20c569c3d7722a11d004646e1f00b35e1f51da0dcbe8d2446a544c0daa88097d', address: 'nUPfS5zGfHzehxcReVQR2Jb53ef2i8xQb1', index: 1, value: '100', privateKey: 'cifcEG11CVMvauPyEXLJXw6VTy3cpivuiRVekE8afRu1LPF1JZCw', }]; body.fee = '1'; body.changeAddress = 'nUPfS5zGfHzehxcReVQR2Jb53ef2i8xQb1'; body.to = [{ address: 'nXz1s8tMQbqjARaSMNCPkgdwJQ2JDW2M7W', value: 1, }]; try { const txData = await dogecoin_1.sendDogecoinTransaction(body); console.log(txData); expect(txData).toHaveProperty('txId'); } catch (e) { console.error(e); assert_1.fail(); } }); }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9nZWNvaW4uc3BlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2FjdGlvbi9kb2dlY29pbi5zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsb0NBQStDO0FBQy9DLHlDQUFvRjtBQUNwRixtQ0FBNEI7QUFFNUIsUUFBUSxDQUFDLG1CQUFtQixFQUFFLEdBQUcsRUFBRTtJQUNqQyxFQUFFLENBQUMscUNBQXFDLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDbkQsTUFBTSxJQUFJLEdBQUcsSUFBSSw4QkFBc0IsRUFBRSxDQUFBO1FBQ3pDLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQztnQkFDZixNQUFNLEVBQUUsa0VBQWtFO2dCQUMxRSxPQUFPLEVBQUUsb0NBQW9DO2dCQUM3QyxLQUFLLEVBQUUsQ0FBQztnQkFDUixLQUFLLEVBQUUsU0FBUztnQkFDaEIsVUFBVSxFQUFFLHNEQUFzRDthQUNuRSxDQUFDLENBQUE7UUFDRixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQTtRQUNkLElBQUksQ0FBQyxhQUFhLEdBQUcsb0NBQW9DLENBQUE7UUFDekQsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDO2dCQUNULE9BQU8sRUFBRSxvQ0FBb0M7Z0JBQzdDLEtBQUssRUFBRSxFQUFFO2FBQ1YsQ0FBQyxDQUFBO1FBQ0YsSUFBSTtZQUNGLE1BQU0sTUFBTSxHQUFHLE1BQU0sMkNBQWdDLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDM0QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxvY0FBb2MsQ0FBQyxDQUFBO1NBQzFkO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQ2hCLGFBQUksRUFBRSxDQUFBO1NBQ1A7SUFDSCxDQUFDLENBQUMsQ0FBQTtJQUVGLEVBQUUsQ0FBQywrQ0FBK0MsRUFBRSxLQUFLLElBQUksRUFBRTtRQUM3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