dsa-connectors/contracts/connectors/chi/main.sol
2021-03-15 22:52:47 +05:30

36 lines
1.0 KiB
Solidity

pragma solidity ^0.7.0;
import { Helpers } from "./helpers.sol";
import { Events } from "./events.sol";
abstract contract ChiResolver is Events, Helpers {
/**
* @dev Mint CHI token.
* @param amt token amount to mint.
*/
function mint(uint amt) public payable returns (string memory _eventName, bytes memory _eventParam) {
uint _amt = amt == uint(-1) ? 140 : amt;
require(_amt <= 140, "Max minting is 140 chi");
chi.mint(_amt);
_eventName = "LogMint(uint256)";
_eventParam = abi.encode(_amt);
}
/**
* @dev burn CHI token.
* @param amt token amount to burn.
*/
function burn(uint amt) public payable returns (string memory _eventName, bytes memory _eventParam) {
uint _amt = amt == uint(-1) ? chi.balanceOf(address(this)) : amt;
chi.approve(address(chi), _amt);
chi.free(_amt);
_eventName = "LogBurn(uint256)";
_eventParam = abi.encode(_amt);
}
}
contract ConnectV2CHI is ChiResolver {
string public name = "CHI-v1";
}