UNPKG

@tatumio/tatum-v1

Version:

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

110 lines 10.6 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeAddress = exports.helperPrepareSCCall = exports.helperGetWeb3Client = exports.helperBroadcastTx = void 0; const blockchain_1 = require("../blockchain"); const marketplace_1 = require("../contracts/marketplace"); const model_1 = require("../model"); const transaction_1 = require("../transaction"); const lodash_1 = require("lodash"); const crypto_1 = require("@harmony-js/crypto"); const helperBroadcastTx = async (chain, txData, signatureId) => { switch (chain) { case model_1.Currency.CELO: return await blockchain_1.celoBroadcast(txData, signatureId); case model_1.Currency.ONE: return await blockchain_1.oneBroadcast(txData, signatureId); case model_1.Currency.ETH: return await blockchain_1.ethBroadcast(txData, signatureId); case model_1.Currency.BSC: return await blockchain_1.bscBroadcast(txData, signatureId); case model_1.Currency.MATIC: return await blockchain_1.polygonBroadcast(txData, signatureId); case model_1.Currency.KLAY: return await blockchain_1.klaytnBroadcast(txData, signatureId); case model_1.Currency.TRON: return await blockchain_1.tronBroadcast(txData, signatureId); default: throw new Error('Unsupported chain'); } }; exports.helperBroadcastTx = helperBroadcastTx; const helperGetWeb3Client = (testnet, chain, provider) => { switch (chain) { case model_1.Currency.CELO: return transaction_1.getCeloClient(provider); case model_1.Currency.ONE: return transaction_1.prepareOneClient(testnet, provider); case model_1.Currency.XDC: return transaction_1.getXdcClient(provider); case model_1.Currency.ETH: return transaction_1.getClient(provider); case model_1.Currency.BSC: return transaction_1.getBscClient(provider); case model_1.Currency.MATIC: return transaction_1.preparePolygonClient(testnet, provider); case model_1.Currency.KLAY: return transaction_1.prepareKlaytnClient(testnet, provider); default: throw new Error('Unsupported chain'); } }; exports.helperGetWeb3Client = helperGetWeb3Client; // eslint-disable-next-line @typescript-eslint/ban-types const helperPrepareSCCall = async (testnet, body, clazz, methodName, params, methodSig, provider, abi = marketplace_1.listing.abi) => { let r; if (body.chain === model_1.Currency.CELO) { r = new model_1.CeloSmartContractMethodInvocation(); } else { r = new model_1.SmartContractMethodInvocation(); } r.fee = body.fee; r.nonce = body.nonce; r.fromPrivateKey = body.fromPrivateKey; r.signatureId = body.signatureId; r.index = body.index; r.amount = body.amount; r.contractAddress = body.contractAddress; r.methodName = methodName; r.params = params; r.methodABI = abi.find(a => a.name === r.methodName); switch (body.chain) { case model_1.Currency.CELO: return await transaction_1.prepareCeloSmartContractWriteMethodInvocation(testnet, Object.assign(Object.assign({}, r), { feeCurrency: body.feeCurrency || model_1.Currency.CELO }), provider); case model_1.Currency.ONE: return await transaction_1.prepareOneSmartContractWriteMethodInvocation(testnet, r, provider); case model_1.Currency.XDC: return await transaction_1.prepareXdcSmartContractWriteMethodInvocation(r, provider); case model_1.Currency.ETH: return await transaction_1.prepareSmartContractWriteMethodInvocation(r, provider); case model_1.Currency.BSC: return await transaction_1.prepareBscSmartContractWriteMethodInvocation(r, provider); case model_1.Currency.MATIC: return await transaction_1.preparePolygonSmartContractWriteMethodInvocation(testnet, r, provider); case model_1.Currency.KLAY: return await transaction_1.prepareKlaytnSmartContractWriteMethodInvocation(testnet, r, provider); case model_1.Currency.TRON: r.methodName = methodSig; return await transaction_1.prepareTronSmartContractInvocation(testnet, r, body.feeLimit, body.from, provider); default: throw new Error('Unsupported combination of inputs.'); } }; exports.helperPrepareSCCall = helperPrepareSCCall; const normalizeAddress = (chain, address) => { var _a; if (lodash_1.isNil(chain) || lodash_1.isEmpty(address)) return address; switch (chain) { case model_1.Currency.ONE: return (address === null || address === void 0 ? void 0 : address.startsWith('one')) ? new crypto_1.HarmonyAddress(address).basicHex : address; case model_1.Currency.XDC: if (!(address === null || address === void 0 ? void 0 : address.startsWith('xdc'))) return address; return (_a = address === null || address === void 0 ? void 0 : address.trim()) === null || _a === void 0 ? void 0 : _a.replace('xdc', '0x'); default: return address; } }; exports.normalizeAddress = normalizeAddress; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaGVscGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSw4Q0FRdUI7QUFDdkIsMERBQW1EO0FBQ25ELG9DQUFzRztBQUN0RyxnREFld0I7QUFFeEIsbUNBQXdDO0FBQ3hDLCtDQUFtRDtBQUU1QyxNQUFNLGlCQUFpQixHQUFHLEtBQUssRUFBRSxLQUFlLEVBQUUsTUFBYyxFQUFFLFdBQW9CLEVBQUUsRUFBRTtJQUMvRixRQUFRLEtBQUssRUFBRTtRQUNiLEtBQUssZ0JBQVEsQ0FBQyxJQUFJO1lBQ2hCLE9BQU8sTUFBTSwwQkFBYSxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztRQUNsRCxLQUFLLGdCQUFRLENBQUMsR0FBRztZQUNmLE9BQU8sTUFBTSx5QkFBWSxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztRQUNqRCxLQUFLLGdCQUFRLENBQUMsR0FBRztZQUNmLE9BQU8sTUFBTSx5QkFBWSxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztRQUNqRCxLQUFLLGdCQUFRLENBQUMsR0FBRztZQUNmLE9BQU8sTUFBTSx5QkFBWSxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztRQUNqRCxLQUFLLGdCQUFRLENBQUMsS0FBSztZQUNqQixPQUFPLE1BQU0sNkJBQWdCLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3JELEtBQUssZ0JBQVEsQ0FBQyxJQUFJO1lBQ2hCLE9BQU8sTUFBTSw0QkFBZSxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztRQUNwRCxLQUFLLGdCQUFRLENBQUMsSUFBSTtZQUNoQixPQUFPLE1BQU0sMEJBQWEsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDbEQ7WUFDRSxNQUFNLElBQUksS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7S0FDeEM7QUFDSCxDQUFDLENB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