gitlab.com/flarenetwork/coreth@v0.1.1/chain/mc_test.sol (about)

     1  pragma solidity >=0.6.0;
     2  
     3  contract MCTest {
     4      address constant MultiCoin = 0x0100000000000000000000000000000000000000;
     5      uint256 balance;
     6      constructor() public {
     7          //// enable multi-coin functionality (it is disabled by default)
     8          //(bool success,) = MultiCoin.call(abi.encodeWithSignature("enableMultiCoin()"));
     9          //require(success);
    10      }
    11  
    12      function updateBalance(uint256 coinid) public {
    13          (bool success, bytes memory data) = MultiCoin.call(abi.encodeWithSignature("getBalance(uint256)", coinid));
    14          require(success);
    15          balance = abi.decode(data, (uint256));
    16      }
    17  
    18      function withdraw(uint256 amount, uint256 coinid, uint256 amount2) public {
    19          (bool success,) = MultiCoin.call(
    20              abi.encodeWithSignature("transfer(address,uint256,uint256,uint256)",
    21                                      msg.sender, amount, coinid, amount2));
    22  
    23          require(success);
    24      }
    25  
    26      receive() external payable {}
    27  }