UNPKG

@tatumio/tatum-v1

Version:

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

87 lines 7.77 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.sendTransaction = exports.storeData = void 0; const tatum_1 = require("../connector/tatum"); const model_1 = require("../model"); const bsc_1 = require("./bsc"); const celo_1 = require("./celo"); const eth_1 = require("./eth"); const one_1 = require("./one"); const polygon_1 = require("./polygon"); const tron_1 = require("./tron"); const xdc_1 = require("./xdc"); const klaytn_1 = require("./klaytn"); /** * Store any arbitrary data on the blockchain. * @param testnet if we are on testnet or not * @param body Body of the transaction. * @param provider Optional provider to use for broadcasting signed tx to the blockchain. */ const storeData = async (testnet, body, provider) => { await tatum_1.validateBody(body, model_1.CreateRecord); switch (body.chain) { case model_1.Currency.ETH: return await eth_1.sendStoreDataTransaction(body, provider); case model_1.Currency.CELO: return await celo_1.sendCeloStoreDataSignedTransaction(testnet, body, provider); case model_1.Currency.BSC: return await bsc_1.sendBscStoreDataTransaction(body, provider); case model_1.Currency.KLAY: return await klaytn_1.sendKlaytnStoreDataTransaction(testnet, body, provider); case model_1.Currency.XDC: return await xdc_1.sendXdcStoreDataTransaction(body, provider); case model_1.Currency.ONE: return await one_1.sendOneStoreDataTransaction(testnet, body, provider); case model_1.Currency.MATIC: return await polygon_1.sendPolygonStoreDataTransaction(testnet, body, provider); default: throw new Error('Unsupported blockchain.'); } }; exports.storeData = storeData; /** * Perform any native asset transaction. * @param testnet if we are on testnet or not * @param chain Blockchain to work with. ETH,CELO,MATIC,ONE,TRON,BSC supported now. * @param body Body of the transaction. * @param provider Optional provider to use for broadcasting signed tx to the blockchain. */ const sendTransaction = async (testnet, chain, body, provider) => { switch (chain) { case model_1.Currency.CELO: { const b = body; b.feeCurrency = model_1.Currency.CELO; return b.contractAddress ? celo_1.sendCeloErc20Transaction(testnet, b) : celo_1.sendCeloOrcUsdTransaction(testnet, b, provider); } case model_1.Currency.ETH: { const b = body; return b.contractAddress ? eth_1.sendCustomErc20Transaction(b, provider) : eth_1.sendEthOrErc20Transaction(b, provider); } case model_1.Currency.MATIC: { const b = body; return b.contractAddress ? polygon_1.sendPolygonTransferErc20SignedTransaction(testnet, b, provider) : polygon_1.sendPolygonTransaction(testnet, b, provider); } case model_1.Currency.KLAY: { const b = body; return b.contractAddress ? klaytn_1.sendKlaytnTransferErc20SignedTransaction(testnet, b, provider) : klaytn_1.sendKlaytnTransaction(testnet, b, provider); } case model_1.Currency.ONE: { const b = body; return b.contractAddress ? one_1.sendOneTransfer20SignedTransaction(testnet, b, provider) : one_1.sendOneTransaction(testnet, b, provider); } case model_1.Currency.TRON: // @ts-ignore if (body.contractAddress) { throw new Error('Cannot work with TRON and contract address'); } return tron_1.sendTronTransaction(testnet, body); case model_1.Currency.BSC: { const b = body; return b.contractAddress ? bsc_1.sendCustomBep20Transaction(b, provider) : bsc_1.sendBscOrBep20Transaction(b, provider); } default: throw new Error('Unsupported blockchain.'); } }; exports.sendTransaction = sendTransaction; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHJhbnNhY3Rpb24vYWJzdHJhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsOENBQWtEO0FBQ2xELG9DQU9rQjtBQUNsQiwrQkFBMkc7QUFDM0csaUNBQWlIO0FBQ2pILCtCQUF3RztBQUN4RywrQkFBNEc7QUFDNUcsdUNBSW1CO0FBQ25CLGlDQUE2QztBQUM3QywrQkFBb0Q7QUFDcEQscUNBSWlCO0FBRWpCOzs7OztHQUtHO0FBQ0ksTUFBTSxTQUFTLEdBQUcsS0FBSyxFQUFFLE9BQWdCLEVBQUUsSUFBa0IsRUFBRSxRQUFpQixFQUFFLEVBQUU7SUFDekYsTUFBTSxvQkFBWSxDQUFDLElBQUksRUFBRSxvQkFBWSxDQUFDLENBQUM7SUFDdkMsUUFBUSxJQUFJLENBQUMsS0FBSyxFQUFFO1FBQ2xCLEtBQUssZ0JBQVEsQ0FBQyxHQUFHO1lBQ2YsT0FBTyxNQUFNLDhCQUF3QixDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN4RCxLQUFLLGdCQUFRLENBQUMsSUFBSTtZQUNoQixPQUFPLE1BQU0seUNBQWtDLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUMzRSxLQUFLLGdCQUFRLENBQUMsR0FBRztZQUNmLE9BQU8sTUFBTSxpQ0FBMkIsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDM0QsS0FBSyxnQkFBUSxDQUFDLElBQUk7WUFDaEIsT0FBTyxNQUFNLHVDQUE4QixDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDdkUsS0FBSyxnQkFBUSxDQUFDLEdBQUc7WUFDZixPQUFPLE1BQU0saUNBQTJCLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzNELEtBQUssZ0JBQVEsQ0FBQyxHQUFHO1lBQ2YsT0FBTyxNQUFNLGlDQUEyQixDQUFDLE9BQU8s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