initialBuySupplyQNT - Initial number of currency units offered to buy by the publisher

initialSellSupplyQNT - Initial number of currency units offered for sell by the publisher

totalBuyLimitQNT - Total number of currency units which can be bought from the offer

totalSellLimitQNT - 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 buyRateNQTPerUnit specified would be less than the sellRateNQTPerUnit thus allowing the publisher to make profit

Each CurrencyBuy transaction which matches this offer reduces the sell supply and increases the buy supply
Similarly, each CurrencySell 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