Build with wnAPE
For Developers Who Want to Get Their Hands Dirty
// Everything you need to know about our contract
interface IWnAPE {
function wrap(uint256 apeCoinAmount) external payable returns (uint256);
function unwrap(uint256 wnApeCoinAmount) external returns (uint256);
function getWnApeCoinByApeCoin(uint256 apeCoinAmount) external view returns (uint256);
function getApeCoinByWnApeCoin(uint256 wnApeCoinAmount) external view returns (uint256);
}// Wrap native APE programmatically
function wrapMyAPE(uint256 amount) external payable {
require(msg.value == amount, "Don't try to cheat us");
uint256 wnApeReceived = IWnAPE(wnApeContract).wrap{value: amount}(amount);
// Now you have wnAPE tokens, go wild!
}// Get your APE back when you need it
function unwrapMyWnAPE(uint256 wnApeAmount) external {
// Approve the contract first (boring but necessary)
IERC20(wnApeContract).approve(wnApeContract, wnApeAmount);
uint256 apeReceived = IWnAPE(wnApeContract).unwrap(wnApeAmount);
// Boom, you got your APE back (plus yield)
}For DeFi Protocols (Let's Build the Future)
Last updated