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
JavaScript
;
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