Onyx Protocol


The mint function transfers an asset into the protocol, which begins accumulating interest based on the current Supply Rate for the asset. The user receives a quantity of oTokens equal to the underlying tokens supplied, divided by the current Exchange Rate.
function mint(uint mintAmount) returns (uint)
  • msg.sender: The account which shall supply the asset, and own the minted oTokens.
  • mintAmount: The amount of the asset to be supplied, in units of the underlying asset.
  • RETURN: 0 on success, otherwise an Error code
Before supplying an asset, users must first approve the oToken to access their token balance.
function mint() payable
  • msg.value [payable]: The amount of ether to be supplied, in wei.
  • msg.sender: The account which shall supply the ether, and own the minted oTokens.
  • RETURN: No return, reverts on error.
Erc20 underlying = Erc20(0xToken...); // get a handle for the underlying asset contract
SErc20 oToken = OErc20(0x3FDA...); // get a handle for the corresponding oToken contract
underlying.approve(address(oToken), 100); // approve the transfer
assert(oToken.mint(100) == 0); // mint the oTokens and assert there is no error
Web3 1.0
const oToken = OEther.at(0x3FDB...);
await oToken.methods.mint().send({from: myAccount, value: 50});
Last modified 2mo ago