Class PublishExchangeOffer
- java.lang.Object
-
- nxt.http.APIServlet.APIRequestHandler
-
- nxt.http.PublishExchangeOffer
-
public final class PublishExchangeOffer extends APIServlet.APIRequestHandler
Publish exchange offer forCurrencyType.EXCHANGEABLE
currencyParameters
- currency - currency id of an active currency
- buyRateNQT - NXT amount for buying a currency unit specified in NQT
- sellRateNQT - NXT amount for selling a currency unit specified in NQT
- initialBuySupply - Initial number of currency units offered to buy by the publisher
- initialSellSupply - Initial number of currency units offered for sell by the publisher
- totalBuyLimit - Total number of currency units which can be bought from the offer
- totalSellLimit - Total number of currency units which can be sold from the offer
- expirationHeight - Blockchain height at which the offer is expired
Publishing an exchange offer internally creates a buy offer and a counter sell offer linked together. Typically the buyRateNQT specified would be less than the sellRateNQT thus allowing the publisher to make profit
Each
CurrencyBuy
transaction which matches this offer reduces the sell supply and increases the buy supply Similarly, eachCurrencySell
transaction which matches this offer reduces the buy supply and increases the sell supply Therefore the multiple buy/sell transaction can be issued against this offer during it's lifetime. However, the total buy limit and sell limit stops exchanging based on this offer after the accumulated buy/sell limit is reached after possibly multiple exchange operations.Only one exchange offer is allowed per account. Publishing a new exchange offer when another exchange offer exists for the account, removes the existing exchange offer and publishes the new exchange offer
-
-
Field Summary
-
Fields inherited from class nxt.http.APIServlet.APIRequestHandler
DESCRIPTION_FIELD, MESSAGE_FIELD, NAME_FIELD
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected boolean
allowRequiredBlockParameters()
protected org.json.simple.JSONStreamAware
processRequest(javax.servlet.http.HttpServletRequest req)
protected boolean
requirePost()
-
Methods inherited from class nxt.http.APIServlet.APIRequestHandler
getAPITags, getFileParameter, getParameters, processRequest, requireBlockchain, requireFullClient, requirePassword, startDbTransaction
-
-
-
-
Method Detail
-
processRequest
protected org.json.simple.JSONStreamAware processRequest(javax.servlet.http.HttpServletRequest req) throws NxtException
- Specified by:
processRequest
in classAPIServlet.APIRequestHandler
- Throws:
NxtException
-
requirePost
protected final boolean requirePost()
- Overrides:
requirePost
in classAPIServlet.APIRequestHandler
-
allowRequiredBlockParameters
protected final boolean allowRequiredBlockParameters()
- Overrides:
allowRequiredBlockParameters
in classAPIServlet.APIRequestHandler
-
-