Redemption script
You can use this script to redeem gMON for MON at any time, subject to Monad withdrawal time: https://gist.github.com/0xMeir/89ebe112b413931cf9b45056cdf832d6
This script includes four functions to cover the entire Redemption life cycle.
getPendingRedeemShares
export async function getPendingRedeemShares(
config: Config,
magmaAddress: Address,
controller: Address,
owner: Address,
)Get the amount of pending redeem shares for a given owner.
Pending means the redeem request has been created but is not yet claimable.
getClaimableRedeem
export async function getClaimableRedeem(
config: Config,
magmaAddress: Address,
controller: Address,
owner: Address,
)Get how much the user can currently redeem, both in shares and assets (MON or WMON equivalent).
requestRedeem
export async function requestRedeem(
config: Config,
magmaAddress: Address,
shares: bigint,
controller: Address,
owner: Address,
account: ReturnType<typeof privateKeyToAccount>,
)Initiate a redeem request for a given amount of shares. This creates or updates the user’s redeem position on the Magma contract.
claimRedeem
export async function claimRedeem(
config: Config,
magmaAddress: Address,
owner: Address,
controller: Address,
receiver: Address,
receiveWMON = false,
account: ReturnType<typeof privateKeyToAccount>,
)Claim an existing redeem request without explicitly passing the requestId.
Last updated