Aquarius Documentation
  • Aquarius Loan Documentation
  • Getting Started
    • Networks
    • Protocol Math
      • aToken and Underlying Decimals
      • Interpreting Exchange Rates
      • Calculating Accrued Interest
      • Calculating the APY Using Rate Per Block
    • Gas Costs
  • ATokens
    • Mint
    • Redeem
    • Redeem Underlying
    • Borrow
    • Repay Borrow
    • Repay Borrow Behalf
    • Transfer
    • Liquidate Borrow
    • Key Events
    • Error Codes
    • Failure Info
    • Exchange Rate
    • Get Cash
    • Total Borrow
    • Borrow Balance
    • Borrow Rate
    • Total Supply
    • Underlying Balance
    • Supply Rate
    • Total Reserves
    • Reserve Factor
  • Comptroller
    • Enter Markets
    • Exit Market
    • Get Assets In
    • Collateral Factor
    • Get Account Liquidity
    • Close Factor
    • Liquidation Incentive
    • Key Events
    • Error Codes
    • Failure Info
    • ARS Distribution Speeds
    • Claim ARS
    • Market Metadata
  • Governance
    • Delegate
    • Delegate By Signature
    • Get Current Votes
    • Get Prior Votes
    • Key Events
    • Governor Bravo
    • Quorum Votes
    • Proposal Threshold
    • Proposal Max Operations
    • Voting Delay
    • Voting Period
    • Propose
    • Queue
    • Execute
    • Cancel
    • Get Actions
    • Get Receipt
    • State
    • Cast Vote
    • Cast Vote With Reason
    • Cast Vote By Signature
    • Timelock
    • Pause Guardian
  • Reward Vesting and Staking
    • Reward Vesting
    • ARS Staking
    • Explainer Video
  • LP Staking
    • LP Utility
    • LP Staking Options
    • Zapping LP
    • Maintaining Eligibility Status
    • Explainer Video
  • API
    • ATokenService
      • GET: /atoken
    • MarketHistoryService
      • GET: /market_history/graph
    • ProposalService
      • GET: /proposals
      • GET: /proposals/:id
      • GET: /proposals/statistics
    • VoterService
      • GET: /voters/accounts
      • GET: /voters/accounts/:address
      • GET: /voters/history/:address
      • GET: /voters/:proposalId
    • GovernanceService
      • GET: /governance/aquarius
      • GET: /governance/proposals
      • GET: /governance/proposal_vote_receipts
      • GET: /governance/accounts
    • Shared Data Types
  • Aquarius.js
    • Aquarius Constructor
    • API Methods
      • Account
      • aToken
      • Market History
      • Governance
    • aToken Methods
      • Supply
      • Redeem
      • Borrow
      • Repay Borrow
    • ARS Methods
      • To Checksum Address
      • Get ARS Balance
      • Get ARS Accrued
      • Claim ARS
      • Delegate
      • Delegate By Sig
      • Create Delegate Signature
    • Comptroller Methods
      • Enter Markets
      • Exit Market
    • Ethereum Methods
      • Read
      • Trx
      • Get Balance
    • Governance Methods
      • Cast Vote
      • Cast Vote By Sig
      • Create Vote Signature
    • Price Feed Methods
      • Get Price
    • Utility Methods
      • Get Address
      • Get ABI
      • Get Network Name With Chain ID
  • Security
    • Formal Verification
    • Bug Bounty Program
  • Terms of Service
Powered by GitBook
On this page
  1. ATokens

Mint

PreviousATokensNextRedeem

Last updated 1 year ago

The mint function transfers an asset into the protocol, which begins accumulating interest based on the current for the asset. The user receives a quantity of aTokens equal to the underlying tokens supplied, divided by the current .

AErc20

function mint(uint mintAmount) returns (uint)
  • msg.sender: The account which shall supply the asset, and own the minted aTokens.

  • mintAmount: The amount of the asset to be supplied, in units of the underlying asset.

  • RETURN: 0 on success, otherwise an

Before supplying an asset, users must first the aToken to access their token balance.

CEther

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 aTokens.

  • RETURN: No return, reverts on error.

Solidity

Erc20 underlying = Erc20(0xToken...);     // get a handle for the underlying asset contract
AErc20 aToken = AErc20(0x3FDA...);        // get a handle for the corresponding aToken contract
underlying.approve(address(aToken), 100); // approve the transfer
assert(aToken.mint(100) == 0);            // mint the aTokens and assert there is no error

Web3 1.0

const aToken = CEther.at(0x3FDB...);
await aToken.methods.mint().send({from: myAccount, value: 50});
Supply Rate
Exchange Rate
Error code
approve