EthAnchor Account Contract
EthAnchor Account contracts are user-specifically generated Ethereum smart contracts for interacting with Anchor Protocol from the Ethereum blockchain.
EthAnchor Account contracts only allow a single operation at a time, tracked by the ActionFlag
state.
Events
InitDeposit
InitDeposit
Emitted when wrapped UST is requested for deposit to Anchor via initDepositStable
.
FinishDeposit
FinishDeposit
Emitted when wrapped aUST is claimed from Anchor via finishDepositStable
.
InitRedemption
InitRedemption
Emitted when wrapped aUST is requested for redemption to Anchor via initRedeemStable
.
FinishRedemption
FinishRedemption
Emitted when wrapped UST is claimed from Anchor via finishRedeemStable
.
FailureReported
FailureReported
Emitted when aUST redemption fails due to a lack of stablecoin liquidity in the money market.
EmergencyWithdrawActivated
EmergencyWithdrawActivated
Emitted when emergencyWithdraw
is activated for withdrawing ERC20 tokens from the contract.
Functions
initDepositStable
initDepositStable
Accepts new wrapped UST deposits.
Prerequisite: must have called approve()
for an allowance
of at least amount
for the wrapped UST contract, ActionFlag
is set to false
Accepts: amount
- how much UST to deposit
Updates: ActionFlag
to true
Emits: InitDeposit
finishDepositStable
finishDepositStable
Claims resulting wrapped aUST after a successful deposit.
Prerequisite: aUST balance of account-specific endpoint contract must be greater than 0, ActionFlag
is set to true
Updates: sets ActionFlag
to false
, transfer
s all aUST balances from contract address to tx.origin
Emits: FinishDeposit
initRedeemStable
initRedeemStable
Accepts wrapped aUST for redemption back to wrapped UST.
Prerequisite: must have called approve()
for an allowance of at least amount
for the wrapped aUST contract, ActionFlag
is set to false
Accepts: amount
- how much aUST to redeem back to UST
Updates: ActionFlag
to true
IMPORTANT: aUST redemptions may fail if UST liquidity is low in the Terra side Anchor money market → be sure to check account contract balances & initRedeemStable()
success
parameters.
Emits: InitRedemption
finishRedeemStable
finishRedeemStable
Claims resulting wrapped UST after withdrawal.
Prerequisite: UST balance of account-specific endpoint contract must be greater than 0, ActionFlag
is set to true
Updates: sets ActionFlag
to false
, transfers all UST balances from contract address to tx.origin
Emits: FinishRedemption
reportFailure
reportFailure
Reports any failures in-between init
operations to allow the EthAnchor operator to return any funds, and reset ActionFlag
back to false
. Only callable by contract owner.
Prerequisite: UST balance of account-specific endpoint contract must be 0, ActionFlag
is set to true
Updates: sets ActionFlag
to false
emergencyWithdraw
emergencyWithdraw
Withdraws all balances of any ERC20 token from the contract. Only callable by contract owner.
Prerequisite: ERC20 token balances of token contract _tokenAddress
at contract address must be greater than 0
Updates: transfers all ERC20 token balances of token contract _tokenAddress
back to msg.sender
Last updated