UNPKG

airgap-coin-lib

Version:

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

52 lines 4.29 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var AeternityProtocolOptions_1 = require("../protocols/aeternity/AeternityProtocolOptions"); var BitcoinProtocolOptions_1 = require("../protocols/bitcoin/BitcoinProtocolOptions"); var CosmosProtocolOptions_1 = require("../protocols/cosmos/CosmosProtocolOptions"); var EthereumProtocolOptions_1 = require("../protocols/ethereum/EthereumProtocolOptions"); var GroestlcoinProtocolOptions_1 = require("../protocols/groestlcoin/GroestlcoinProtocolOptions"); var KusamaProtocolOptions_1 = require("../protocols/substrate/implementations/KusamaProtocolOptions"); var PolkadotProtocolOptions_1 = require("../protocols/substrate/implementations/PolkadotProtocolOptions"); var TezosFAProtocolOptions_1 = require("../protocols/tezos/fa/TezosFAProtocolOptions"); var TezosProtocolOptions_1 = require("../protocols/tezos/TezosProtocolOptions"); var assert_1 = require("./assert"); var ProtocolSymbols_1 = require("./ProtocolSymbols"); // tslint:disable:cyclomatic-complexity var getProtocolOptionsByIdentifier = function (identifier, network) { switch (identifier) { case ProtocolSymbols_1.MainProtocolSymbols.AE: return new AeternityProtocolOptions_1.AeternityProtocolOptions(network ? network : new AeternityProtocolOptions_1.AeternityProtocolNetwork()); case ProtocolSymbols_1.MainProtocolSymbols.BTC: return new BitcoinProtocolOptions_1.BitcoinProtocolOptions(network ? network : new BitcoinProtocolOptions_1.BitcoinProtocolNetwork()); case ProtocolSymbols_1.MainProtocolSymbols.ETH: case ProtocolSymbols_1.SubProtocolSymbols.ETH_ERC20_XCHF: case ProtocolSymbols_1.SubProtocolSymbols.ETH_ERC20: return new EthereumProtocolOptions_1.EthereumProtocolOptions(network ? network : new EthereumProtocolOptions_1.EthereumProtocolNetwork()); case ProtocolSymbols_1.MainProtocolSymbols.GRS: return new GroestlcoinProtocolOptions_1.GroestlcoinProtocolOptions(network ? network : new GroestlcoinProtocolOptions_1.GroestlcoinProtocolNetwork()); case ProtocolSymbols_1.MainProtocolSymbols.COSMOS: return new CosmosProtocolOptions_1.CosmosProtocolOptions(network ? network : new CosmosProtocolOptions_1.CosmosProtocolNetwork()); case ProtocolSymbols_1.MainProtocolSymbols.POLKADOT: return new PolkadotProtocolOptions_1.PolkadotProtocolOptions(network ? network : new PolkadotProtocolOptions_1.PolkadotProtocolNetwork()); case ProtocolSymbols_1.MainProtocolSymbols.KUSAMA: return new KusamaProtocolOptions_1.KusamaProtocolOptions(network ? network : new KusamaProtocolOptions_1.KusamaProtocolNetwork()); case ProtocolSymbols_1.MainProtocolSymbols.XTZ: case ProtocolSymbols_1.SubProtocolSymbols.XTZ_KT: return new TezosProtocolOptions_1.TezosProtocolOptions(network ? network : new TezosProtocolOptions_1.TezosProtocolNetwork()); case ProtocolSymbols_1.SubProtocolSymbols.XTZ_BTC: return new TezosFAProtocolOptions_1.TezosFAProtocolOptions(network ? network : new TezosProtocolOptions_1.TezosProtocolNetwork(), new TezosFAProtocolOptions_1.TezosBTCProtocolConfig()); case ProtocolSymbols_1.SubProtocolSymbols.XTZ_USD: return new TezosFAProtocolOptions_1.TezosFAProtocolOptions(network ? network : new TezosProtocolOptions_1.TezosProtocolNetwork(), new TezosFAProtocolOptions_1.TezosUSDProtocolConfig()); case ProtocolSymbols_1.SubProtocolSymbols.XTZ_STKR: return new TezosFAProtocolOptions_1.TezosFAProtocolOptions(network ? network : new TezosProtocolOptions_1.TezosProtocolNetwork(), new TezosFAProtocolOptions_1.TezosStakerProtocolConfig()); default: // Maybe we get an identifier of a sub-protocol that is not in the known list. In that case, get the options of the parent if (identifier.includes('-')) { return getProtocolOptionsByIdentifier(identifier.split('-')[0]); } assert_1.assertNever(identifier); throw new Error("No protocol options found for " + identifier); } }; exports.getProtocolOptionsByIdentifier = getProtocolOptionsByIdentifier; //# sourceMappingURL=protocolOptionsByIdentifier.js.map