[text] matic.sol

Viewer

copydownloadembedprintName: matic.sol
  1. import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/release-v3.4/contracts/token/ERC20/IERC20.sol";
  2.  
  3. pragma solidity ^0.6.6;
  4.  
  5. interface RootChainManagerProxy
  6. {
  7.      function depositEtherFor(address user) external payable ;
  8.      function depsoitFor(address user,address rootToken,bytes calldata depositData) external;
  9. }
  10.  
  11. contract matic
  12. {
  13.     uint256 amount = 100*(10**18);
  14.     address tokenPredicate = 0xdD6596F2029e6233DEFfaCa316e6A95217d4Dc34;
  15.     address token = 0x655F2166b0709cd575202630952D71E2bB0d61Af; //matic token
  16.     RootChainManagerProxy rootChainManager = RootChainManagerProxy(0xBbD7cBFA79faee899Eaf900F13C9065bF03B1A74);
  17.     IERC20 erc20 = IERC20(token);       
  18.     
  19.     function depositERC20() external{   
  20.         erc20.approve(tokenPredicate,amount);
  21.         bytes memory data = abi.encode("1000000000000000000");
  22.         rootChainManager.depsoitFor(msg.sender,token, data);
  23.     }
  24.   
  25.     function depositEther() public payable {
  26.     rootChainManager.depositEtherFor{value:msg.value}(msg.sender);
  27.     }
  28.     
  29.     
  30. }
  31.     
  32.  
  33.  

Editor

You can edit this paste and save as new:


File Description
  • matic.sol
  • Paste Code
  • 14 Apr-2021
  • 1.05 Kb
You can Share it: