UNPKG

airgap-coin-lib

Version:

The airgap-coin-lib is a protocol agnostic library to prepare, sign and broadcast cryptocurrency transactions.

50 lines 3.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var errors_1 = require("./errors"); var aeternity_transactions_serializer_1 = require("./signed-transactions/aeternity-transactions.serializer"); var bitcoin_transactions_serializer_1 = require("./signed-transactions/bitcoin-transactions.serializer"); var ethereum_transactions_serializer_1 = require("./signed-transactions/ethereum-transactions.serializer"); var substrate_transactions_serializer_1 = require("./signed-transactions/substrate-transactions.serializer"); var tezos_transactions_serializer_1 = require("./signed-transactions/tezos-transactions.serializer"); var aeternity_transactions_serializer_2 = require("./unsigned-transactions/aeternity-transactions.serializer"); var bitcoin_transactions_serializer_2 = require("./unsigned-transactions/bitcoin-transactions.serializer"); var ethereum_transactions_serializer_2 = require("./unsigned-transactions/ethereum-transactions.serializer"); var substrate_transactions_serializer_2 = require("./unsigned-transactions/substrate-transactions.serializer"); var tezos_transactions_serializer_2 = require("./unsigned-transactions/tezos-transactions.serializer"); function unsignedTransactionSerializerByProtocolIdentifier(protocolIdentifier) { var implementedSerializers = { // TODO: Cosmos is missing? eth: ethereum_transactions_serializer_2.EthereumUnsignedTransactionSerializer, btc: bitcoin_transactions_serializer_2.BitcoinUnsignedTransactionSerializer, grs: bitcoin_transactions_serializer_2.BitcoinUnsignedTransactionSerializer, ae: aeternity_transactions_serializer_2.AeternityUnsignedTransactionSerializer, xtz: tezos_transactions_serializer_2.TezosUnsignedTransactionSerializer, polkadot: substrate_transactions_serializer_2.SubstrateUnsignedTransactionsSerializer, kusama: substrate_transactions_serializer_2.SubstrateUnsignedTransactionsSerializer }; var protocol = Object.keys(implementedSerializers).find(function (protocol) { return protocolIdentifier.startsWith(protocol); }); if (!protocol) { throw new errors_1.ProtocolNotSupported(); } return new implementedSerializers[protocol](); } exports.unsignedTransactionSerializerByProtocolIdentifier = unsignedTransactionSerializerByProtocolIdentifier; function signedTransactionSerializerByProtocolIdentifier(protocolIdentifier) { var implementedSerializers = { // TODO: Cosmos is missing? eth: ethereum_transactions_serializer_1.EthereumSignedTransactionSerializer, btc: bitcoin_transactions_serializer_1.BitcoinSignedTransactionSerializer, grs: bitcoin_transactions_serializer_1.BitcoinSignedTransactionSerializer, ae: aeternity_transactions_serializer_1.AeternitySignedTransactionSerializer, xtz: tezos_transactions_serializer_1.TezosSignedTransactionSerializer, polkadot: substrate_transactions_serializer_1.SubstrateSignedTransactionSerializer, kusama: substrate_transactions_serializer_1.SubstrateSignedTransactionSerializer }; var protocol = Object.keys(implementedSerializers).find(function (protocol) { return protocolIdentifier.startsWith(protocol); }); if (!protocol) { throw new errors_1.ProtocolNotSupported(); } return new implementedSerializers[protocol](); } exports.signedTransactionSerializerByProtocolIdentifier = signedTransactionSerializerByProtocolIdentifier; //# sourceMappingURL=index.js.map