Developer Reference
Contract Surface
interface IDinoSecondary {
struct Fee {
address feeToken;
uint256 feeAmount;
address feeCollector;
}
enum OfferStatus {
Active,
Filled,
Cancelled,
Expired
}
struct Offer {
address offerCreator;
address tokenOut;
uint256 amountOut;
uint256 filledAmountOut;
address tokenIn;
uint256 amountIn;
uint256 filledAmountIn;
uint256 expiry;
OfferStatus status;
uint256 createdAt;
}
function createOffer(
address tokenOut,
uint256 amountOut,
address tokenIn,
uint256 amountIn,
uint256 expiry
) external returns (uint256 offerID);
function takeOffer(uint256 offerID, uint256 amount) external;
function cancelOffer(uint256 offerID) external;
function pruneOffer(uint256 offerID) external;
function setFixedFee(address feeToken, address feeRecipient, uint256 amount) external;
function setVolumeBasedFee(address feeRecipient, uint256 basisPoints) external;
function TREX() external view returns (address);
function fixedFee() external view returns (Fee memory);
function volumeFee() external view returns (Fee memory);
function getOfferExpiry(uint256 offerID) external view returns (uint256);
function getCurrentOfferID() external view returns (uint256);
function getOfferDetails(uint256 offerID) external view returns (Offer memory);
}Core Data Structures
Fee
Field
Type
Description
OfferStatus
Offer
Field
Type
Description
Trading Functions
createOffer
takeOffer
cancelOffer
pruneOffer
Fee Configuration & Getters
setFixedFee
setVolumeBasedFee
Fee getters
Read-Only Helpers
TREX
getOfferExpiry
getCurrentOfferID
getOfferDetails
Events
Trading events
Event
When it fires
Key fields
Fee events
Event
Description
Pausable & AccessManager events
Error Reference
Error
Typical cause
Multicall Support
Integration Tips
Last updated