//------------------------------------------------------------------------------ /* Copyright (c) 2011-2013, OpenCoin, Inc. */ //============================================================================== #ifndef __OFFERCREATETRANSACTOR__ #define __OFFERCREATETRANSACTOR__ class OfferCreateTransactor : public Transactor { public: OfferCreateTransactor (const SerializedTransaction& txn, TransactionEngineParams params, TransactionEngine* engine) : Transactor (txn, params, engine) {} TER doApply (); private: bool bValidOffer ( SLE::ref sleOfferDir, uint256 const& uOffer, const uint160& uOfferOwnerID, const STAmount& saOfferPays, const STAmount& saOfferGets, const uint160& uTakerAccountID, boost::unordered_set& usOfferUnfundedFound, boost::unordered_set& usOfferUnfundedBecame, boost::unordered_set& usAccountTouched, STAmount& saOfferFunds); TER takeOffers ( const bool bOpenLedger, const bool bPassive, const bool bSell, uint256 const& uBookBase, const uint160& uTakerAccountID, SLE::ref sleTakerAccount, const STAmount& saTakerPays, const STAmount& saTakerGets, STAmount& saTakerPaid, STAmount& saTakerGot, bool& bUnfunded); boost::unordered_set usOfferUnfundedFound; // Offers found unfunded. }; #endif // vim:ts=4