WOWswap
Search…
Trading ABI and Documentation

ABI

Structs

ClosePositionRequest

📄 Configuration parameters for a closing position transaction
Developer should use pragma experimental ABIEncoderV2; to pack struct to calldata with struct
All positions tokens support EIP-2612 for disbursement via an offchain signature, not a approve of transaction
Fields:
short should be true if a short position is closed (false if a long position)
amountIn the number of position tokens to close (can pass type(uint256).max to close the all position)
amountOutMin minimum allowed number of tokens to be received lendable after closing (if the exchange returns less during the closing process - the transaction will be rejected)
lendable is an address of lendable token
proxy is an address of proxy token (should be address(0) if direct swap)
tradable is an address of tradable token if position is long, overwise is shortable
trader is an address of position holder
deadline deadline of permit on spending position tokens for Router instance
referrer is an address of position holder referrer (should be address(0) if no referrer)
permit is a structure of v , r , s with ERC-2612 permit
convertToNative should be true if lendable is wrapped native currency and expect unwrapping to native at the end of transaction

OpenPositionRequest

📄 Transaction configuration parameters for opening a long position
Developer should use pragma experimental ABIEncoderV2; to pack struct to calldata with struct Developer should call PriceSigner service to obtain guarded field data before call open position
amountIn the number of lendable tokens to open a position and to be used as collateral for the position
leverageFactor determines the leverage of the position (specified in decimals, i.e. x1 is 10000 and x1.5 is 15000)
amountOutMin minimum allowed number of received position tokens after opening (if the exchange returns less during the opening - the transaction will be rejected)
lendable is an address of lendable token
proxy is an address of proxy token (should be address(0) if direct swap)
tradable is an address of tradable token if position is long, overwise is shortable
trader is an address of position holder
deadline deprecated field
referrer is an address of position holder referrer (should be address(0) if no referrer)
guarded a signed message from the oracle with the expected value of the asset (protection against flash-loan attacks)
terminationConditions user-signed position auto termination conditions (can be initialized with zeros to cancel auto termination)
terminationReward amount in native tokens to compensate for the gas and work of the termination bot (must be added to msg.value)
convertFromNative If lendable token is wrapped native currency (e.g. BNB in BNB Chain), can pass the amount as transaction value and setting convertFromNative as true to wrap the native currency into ERC20 token

OpenShortPositionRequest

📄 Transaction configuration parameters of short position opening
Developer should use pragma experimental ABIEncoderV2; to pack struct to calldata with struct Developer should call PriceSigner service to obtain guarded field data before call open position
amountIn number of lendable tokens (stablecoin) to open a position and to be used as collateral for the position
baseBorrowAmount base loan. Calculated as baseBorrowAmount *leverageFactor = loan, where loan * tradablePrice <= amountInleverageFactor determines the leverage of the position (specified in decimals, i.e. x1 is 10000 and x1.5 - 15000)
amountOutMin minimum allowed number of received position tokens after opening (if the exchange returns less during the opening - the transaction will be rejected)
lendable is an address of lendable token
proxy is an address of proxy token (should be address(0) if direct swap)
tradable is an address of tradable token if position is long, overwise is shortable
trader is an address of position holder
➡ deadline deprecated field referrer is an address of position holder
referrer (should be address(0) if no referrer)
guarded a signed message from the oracle with the expected value of the asset (protection against flash-loan attacks)
terminationConditions user-signed position auto termination conditions (can be initialized with zeros to cancel auto termination)
terminationReward amount in native tokens to compensate for the gas and work of the termination bot (must be added to msg.value)
convertFromNative If lendable token is wrapped native currency (e.g. BNB in BNB Chain), can pass the amount as transaction value and setting convertFromNative as true to wrap the native currency into ERC20 token
WithdrawRequest
📄 Withdrawal parameters from the reserve All ib tokens support EIP-2612 for disbursement via offchain signature, not approve transaction