text: #pragma once
  
  // Copyright 2015 Stellar Development Foundation and contributors. Licensed
  // under the Apache License, Version 2.0. See the COPYING file at the root
  // of this distribution or at http://www.apache.org/licenses/LICENSE-2.0
  
  #include "transactions/OperationFrame.h"
  
  namespace stellar
  {
  
  class CreateAccountOpFrame : public OperationFrame
  {
      CreateAccountResult&
      innerResult()
      {
          return mResult.tr().createAccountResult();
      }
      CreateAccountOp const& mCreateAccount;
  
    public:
      CreateAccountOpFrame(Operation const& op, OperationResult& res,
                           TransactionFrame& parentTx);
  
      bool doApply(medida::MetricsRegistry& metrics, LedgerDelta& delta,
                   LedgerManager& ledgerManager) override;
      bool doCheckValid(medida::MetricsRegistry& metrics) override;
  
      static CreateAccountResultCode
      getInnerCode(OperationResult const& res)
      {
          return res.tr().createAccountResult().code();
      }
  };
  }
  