Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
function createERC20Client (asset, wallet) {
const assetConfig = config.assets[asset]
const erc20Client = new Client()
erc20Client.addProvider(new EthereumRpcProvider(
assetConfig.rpc.url
))
if (wallet === 'metamask') {
erc20Client.addProvider(new EthereumMetaMaskProvider(web3.currentProvider, EthereumNetworks[assetConfig.network]))
} else if (wallet === 'ethereum_ledger') {
erc20Client.addProvider(new EthereumLedgerProvider({network: EthereumNetworks[assetConfig.network]}))
}
erc20Client.addProvider(new EthereumErc20Provider(assetConfig.contractAddress))
erc20Client.addProvider(new EthereumErc20SwapProvider())
return erc20Client
}
function createEthClient (asset, wallet) {
const ethConfig = config.assets.eth
const ethClient = new Client()
ethClient.addProvider(new EthereumRpcProvider(
ethConfig.rpc.url
))
if (wallet === 'metamask') {
ethClient.addProvider(new EthereumMetaMaskProvider(web3.currentProvider, EthereumNetworks[ethConfig.network]))
} else if (wallet === 'ethereum_ledger') {
ethClient.addProvider(new EthereumLedgerProvider({network: EthereumNetworks[ethConfig.network]}))
}
ethClient.addProvider(new EthereumSwapProvider())
return ethClient
}
function createBtcClient (asset, wallet) {
const btcConfig = config.assets.btc
const btcClient = new Client()
if (wallet && wallet.includes('bitcoin_ledger')) {
let addressType
if (wallet === 'bitcoin_ledger_legacy') {
addressType = 'legacy'
} else if (wallet === 'bitcoin_ledger_nagive_segwit') {
addressType = 'bech32'
}
const ledger = new BitcoinLedgerProvider({network: BitcoinNetworks[btcConfig.network]}, addressType)
if (window.useWebBle || localStorage.useWebBle) {
ledger.useWebBle()
}
btcClient.addProvider(getBitcoinDataProvider(btcConfig))
btcClient.addProvider(ledger)
btcClient.addProvider(new BitcoinSwapProvider({network: BitcoinNetworks[btcConfig.network]}, btcConfig.swapMode))
} else if (wallet === 'bitcoin_node') {