
Security News
The Hidden Blast Radius of the Axios Compromise
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.
@mayflower-fi/solidity-interfaces
Advanced tools
Solidity interfaces for May Prog EVM protocol - for use in smart contract development
Pure Solidity interfaces for integrating with the May Prog EVM protocol. This package contains only the .sol interface files for use in Solidity smart contract development.
Note: For deployment, testing with bytecode, or TypeScript development, use @mayflower-fi/evm-bytecode instead.
npm install @mayflower-fi/solidity-interfaces
or with yarn:
yarn add @mayflower-fi/solidity-interfaces
Import the interfaces in your Solidity contracts:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;
import "@mayflower-fi/solidity-interfaces/contracts/ITenant.sol";
import "@mayflower-fi/solidity-interfaces/contracts/IMarket.sol";
import "@mayflower-fi/solidity-interfaces/contracts/IMarketGroup.sol";
contract YourContract {
ITenant public tenant;
constructor(address tenantAddress) {
tenant = ITenant(tenantAddress);
}
function createMarketGroup(
address admin,
uint256 buyFeeRate,
uint256 sellFeeRate,
uint256 borrowFeeRate,
uint256 exerciseOptionsFeeRate
) external returns (address) {
return tenant.createMarketGroup(
admin,
buyFeeRate,
sellFeeRate,
borrowFeeRate,
exerciseOptionsFeeRate
);
}
}
ITenantFactory - Factory for creating tenant contractsITenant - Main tenant contract managing market groups and platform feesIMarketGroup - Groups of markets with shared fee structuresIMarket - Individual bonding curve markets with trading functionalitycreateMarketGroup() - Create a new market groupplatformFeeRate() - Get platform fee ratecollectPlatformFees() - Collect accumulated platform feescreateMarket() - Deploy a new market with bonding curvesetFeeRates() - Update fee rates for the groupcollectFeesFromMarket() - Collect fees from specific marketbuyWithExactBaseIn() - Buy tokens with exact input amountsellWithExactTokenIn() - Sell tokens for base currencybuyCallOptions() - Purchase call optionsexerciseCallOptions() - Exercise call optionsdepositCollateral() - Deposit tokens as collateralborrow() - Borrow against collateralrepay() - Repay borrowed amountAll interfaces include comprehensive events for monitoring on-chain activity:
event TokensBought(address indexed buyer, uint256 baseIn, uint256 tokensOut);
event TokensSold(address indexed seller, uint256 tokensIn, uint256 baseOut);
event CallOptionsBought(address indexed buyer, uint256 baseIn, uint256 optionsOut);
event CallOptionsExercised(address indexed holder, uint256 optionsIn, uint256 tokensOut);
IMarket market = IMarket(marketAddress);
// Get current price at supply
uint256 currentSupply = market.derivativeSupply();
uint256 price = market.getPriceAtSupply(currentSupply);
// Check available liquidity
uint256 liquidity = market.availableLiquidity();
// Get user position
(uint256 collateral, uint256 debt) = market.getPosition(userAddress);
// Buy tokens
uint256 tokensOut = market.buyWithExactBaseIn(
1000 * 10**18, // 1000 base tokens in
900 * 10**18, // min tokens out (slippage protection)
msg.sender // recipient
);
// Sell tokens
uint256 baseOut = market.sellWithExactTokenIn(
500 * 10**18, // 500 tokens to sell
450 * 10**18, // min base out
msg.sender // recipient
);
MIT
For questions and support, please contact Mayflower Finance.
FAQs
Solidity interfaces for May Prog EVM protocol - for use in smart contract development
We found that @mayflower-fi/solidity-interfaces demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.

Research
A supply chain attack on Axios introduced a malicious dependency, plain-crypto-js@4.2.1, published minutes earlier and absent from the project’s GitHub releases.

Research
Malicious versions of the Telnyx Python SDK on PyPI delivered credential-stealing malware via a multi-stage supply chain attack.