Open-Transactions  0.93.0-ge03d287
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
OTRecord.hpp
Go to the documentation of this file.
1 /************************************************************
2  *
3  * OTRecord.hpp
4  *
5  */
6 
7 /************************************************************
8  -----BEGIN PGP SIGNED MESSAGE-----
9  Hash: SHA1
10 
11  * OPEN TRANSACTIONS
12  *
13  * Financial Cryptography and Digital Cash
14  * Library, Protocol, API, Server, CLI, GUI
15  *
16  * -- Anonymous Numbered Accounts.
17  * -- Untraceable Digital Cash.
18  * -- Triple-Signed Receipts.
19  * -- Cheques, Vouchers, Transfers, Inboxes.
20  * -- Basket Currencies, Markets, Payment Plans.
21  * -- Signed, XML, Ricardian-style Contracts.
22  * -- Scripted smart contracts.
23  *
24  * Copyright (C) 2010-2013 by "Fellow Traveler" (A pseudonym)
25  *
26  * EMAIL:
28  *
29  * BITCOIN: 1NtTPVVjDsUfDWybS4BwvHpG2pdS9RnYyQ
30  *
31  * KEY FINGERPRINT (PGP Key in license file):
32  * 9DD5 90EB 9292 4B48 0484 7910 0308 00ED F951 BB8E
33  *
34  * OFFICIAL PROJECT WIKI(s):
35  * https://github.com/FellowTraveler/Moneychanger
36  * https://github.com/FellowTraveler/Open-Transactions/wiki
37  *
38  * WEBSITE:
39  * http://www.OpenTransactions.org/
40  *
41  * Components and licensing:
42  * -- Moneychanger..A Java client GUI.....LICENSE:.....GPLv3
43  * -- otlib.........A class library.......LICENSE:...LAGPLv3
44  * -- otapi.........A client API..........LICENSE:...LAGPLv3
45  * -- opentxs/ot....Command-line client...LICENSE:...LAGPLv3
46  * -- otserver......Server Application....LICENSE:....AGPLv3
47  * Github.com/FellowTraveler/Open-Transactions/wiki/Components
48  *
49  * All of the above OT components were designed and written by
50  * Fellow Traveler, with the exception of Moneychanger, which
51  * was contracted out to Vicky C ([email protected]).
52  * The open-source community has since actively contributed.
53  *
54  * -----------------------------------------------------
55  *
56  * LICENSE:
57  * This program is free software: you can redistribute it
58  * and/or modify it under the terms of the GNU Affero
59  * General Public License as published by the Free Software
60  * Foundation, either version 3 of the License, or (at your
61  * option) any later version.
62  *
63  * ADDITIONAL PERMISSION under the GNU Affero GPL version 3
64  * section 7: (This paragraph applies only to the LAGPLv3
65  * components listed above.) If you modify this Program, or
66  * any covered work, by linking or combining it with other
67  * code, such other code is not for that reason alone subject
68  * to any of the requirements of the GNU Affero GPL version 3.
69  * (==> This means if you are only using the OT API, then you
70  * don't have to open-source your code--only your changes to
71  * Open-Transactions itself must be open source. Similar to
72  * LGPLv3, except it applies to software-as-a-service, not
73  * just to distributing binaries.)
74  *
75  * Extra WAIVER for OpenSSL, Lucre, and all other libraries
76  * used by Open Transactions: This program is released under
77  * the AGPL with the additional exemption that compiling,
78  * linking, and/or using OpenSSL is allowed. The same is true
79  * for any other open source libraries included in this
80  * project: complete waiver from the AGPL is hereby granted to
81  * compile, link, and/or use them with Open-Transactions,
82  * according to their own terms, as long as the rest of the
83  * Open-Transactions terms remain respected, with regard to
84  * the Open-Transactions code itself.
85  *
86  * Lucre License:
87  * This code is also "dual-license", meaning that Ben Lau-
88  * rie's license must also be included and respected, since
89  * the code for Lucre is also included with Open Transactions.
90  * See Open-Transactions/src/otlib/lucre/LUCRE_LICENSE.txt
91  * The Laurie requirements are light, but if there is any
92  * problem with his license, simply remove the Lucre code.
93  * Although there are no other blind token algorithms in Open
94  * Transactions (yet. credlib is coming), the other functions
95  * will continue to operate.
96  * See Lucre on Github: https://github.com/benlaurie/lucre
97  * -----------------------------------------------------
98  * You should have received a copy of the GNU Affero General
99  * Public License along with this program. If not, see:
100  * http://www.gnu.org/licenses/
101  *
102  * If you would like to use this software outside of the free
103  * software license, please contact FellowTraveler.
104  * (Unfortunately many will run anonymously and untraceably,
105  * so who could really stop them?)
106  *
107  * DISCLAIMER:
108  * This program is distributed in the hope that it will be
109  * useful, but WITHOUT ANY WARRANTY; without even the implied
110  * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
111  * PURPOSE. See the GNU Affero General Public License for
112  * more details.
113 
114  -----BEGIN PGP SIGNATURE-----
115  Version: GnuPG v1.4.9 (Darwin)
116 
117  iQIcBAEBAgAGBQJRSsfJAAoJEAMIAO35UbuOQT8P/RJbka8etf7wbxdHQNAY+2cC
118  vDf8J3X8VI+pwMqv6wgTVy17venMZJa4I4ikXD/MRyWV1XbTG0mBXk/7AZk7Rexk
119  KTvL/U1kWiez6+8XXLye+k2JNM6v7eej8xMrqEcO0ZArh/DsLoIn1y8p8qjBI7+m
120  aE7lhstDiD0z8mwRRLKFLN2IH5rAFaZZUvj5ERJaoYUKdn4c+RcQVei2YOl4T0FU
121  LWND3YLoH8naqJXkaOKEN4UfJINCwxhe5Ke9wyfLWLUO7NamRkWD2T7CJ0xocnD1
122  sjAzlVGNgaFDRflfIF4QhBx1Ddl6wwhJfw+d08bjqblSq8aXDkmFA7HeunSFKkdn
123  oIEOEgyj+veuOMRJC5pnBJ9vV+7qRdDKQWaCKotynt4sWJDGQ9kWGWm74SsNaduN
124  TPMyr9kNmGsfR69Q2Zq/FLcLX/j8ESxU+HYUB4vaARw2xEOu2xwDDv6jt0j3Vqsg
125  x7rWv4S/Eh18FDNDkVRChiNoOIilLYLL6c38uMf1pnItBuxP3uhgY6COm59kVaRh
126  nyGTYCDYD2TK+fI9o89F1297uDCwEJ62U0Q7iTDp5QuXCoxkPfv8/kX6lS6T3y9G
127  M9mqIoLbIQ1EDntFv7/t6fUTS2+46uCrdZWbQ5RjYXdrzjij02nDmJAm2BngnZvd
128  kamH0Y/n11lCvo1oQxM+
129  =uSzz
130  -----END PGP SIGNATURE-----
131  **************************************************************/
132 
133 #ifndef OPENTXS_CLIENT_OTRECORD_HPP
134 #define OPENTXS_CLIENT_OTRECORD_HPP
135 
137 
138 namespace opentxs
139 {
140 
141 class OTRecord
142 {
143 public:
145 
146 private:
147  int32_t m_nBoxIndex;
148  time64_t m_ValidFrom;
149  time64_t m_ValidTo;
150  const std::string& m_str_server_id;
151  const std::string& m_str_asset_id;
152  const std::string& m_str_currency_tla;
153  const std::string& m_str_nym_id;
154  const std::string& m_str_account_id;
155  std::string m_str_other_nym_id;
156  std::string m_str_other_account_id;
157  std::string m_str_name;
158  std::string m_str_date;
159  std::string m_str_amount;
160  std::string m_str_type;
161  std::string m_str_memo;
162  // Contains payment instrument or mail message (or nothing, if not
163  // applicable.)
164  //
165  std::string m_str_contents;
166  // SPECIAL MAIL
167  //
168  // Let's say this OTRecord is a Mail, but it's not via OT. (Perhaps it's
169  // from Bitmessage or Freenet.) In that case it's a "special mail." In that
170  // case, there are a few additional pieces of data we store here.
171  // For example, the method ID (if one is available.) If you use Moneychanger
172  // to send or receive a message through Bitmessage, the sender or recipient
173  // will have a Method ID which references the connection string used to send
174  // or receive. There will also be the message type "bitmessage" with the
175  // type display string "Bitmessage", and the sender and recipient addresses.
176  //
177  bool m_bIsSpecialMail; // Meaning a bitmessage vs an OT message.
178  int32_t m_nMethodID; // A Nym in Moneychanger might have 2 Bitmessage
179  // addresses, each used on different BM nodes with
180  // different connection strings. The Method ID is used
181  // to lookup the connection string.
182  std::string m_str_my_address; // My Bitmessage address.
183  std::string m_str_other_address; // The sender or recipient's Bitmessage
184  // address.
185  std::string m_str_msg_id; // If you want to delete a Bitmessage, you must
186  // know the message ID.
187  std::string m_str_msg_type; // "bitmessage"
188  std::string m_str_msg_type_display; // "Bitmessage"
189  // Contains transaction number of actual receipt in inbox,
190  // or payment inbox, or record box. (If outpayment, contains
191  // transaction number on outgoing instrument.)
192  //
193  int64_t m_lTransactionNum;
194  int64_t m_lTransNumForDisplay;
195  bool m_bIsPending;
196  bool m_bIsOutgoing;
197  bool m_bIsRecord; // record box (closed, finished, historical only.)
198  bool m_bIsReceipt; // It's a receipt, not a payment.
199  bool m_bIsPaymentPlan;
200  bool m_bIsSmartContract;
201  bool m_bIsVoucher;
202  bool m_bIsCheque;
203  bool m_bIsInvoice;
204  bool m_bIsCash;
205  bool m_bIsExpired;
206  bool m_bIsCanceled;
207  OTRecordType m_RecordType;
208  bool AcceptIncomingTransferOrReceipt() const;
209 
210 public:
211  EXPORT void SetSpecialMail(bool bIsSpecial = true);
212  EXPORT bool IsSpecialMail() const;
213  EXPORT bool IsPending() const;
214  EXPORT bool IsOutgoing() const;
215  EXPORT bool IsRecord() const;
216  EXPORT bool IsReceipt() const;
217  EXPORT bool IsMail() const;
218  EXPORT bool IsTransfer() const;
219  EXPORT bool IsCheque() const;
220  EXPORT bool IsInvoice() const;
221  EXPORT bool IsVoucher() const;
222  EXPORT bool IsContract() const;
223  EXPORT bool IsPaymentPlan() const;
224  EXPORT bool IsCash() const;
225  EXPORT bool HasContents() const;
226  EXPORT bool HasMemo() const;
227  EXPORT bool IsExpired() const;
228  EXPORT bool IsCanceled() const;
229  EXPORT void SetExpired();
230  EXPORT void SetCanceled();
231  EXPORT time64_t GetValidFrom() const;
232  EXPORT time64_t GetValidTo() const;
233  EXPORT void SetDateRange(time64_t tValidFrom,
234  time64_t tValidTo); // Todo: convert to time64_t
235  EXPORT bool CanDeleteRecord() const; // For completed records (not pending.)
236  EXPORT bool CanAcceptIncoming() const; // For incoming, pending
237  // (not-yet-accepted) instruments.
238  EXPORT bool CanDiscardIncoming() const; // For INcoming, pending
239  // (not-yet-accepted) instruments.
240  EXPORT bool CanCancelOutgoing() const; // For OUTgoing, pending
241  // (not-yet-accepted) instruments.
242  EXPORT bool CanDiscardOutgoingCash() const; // For OUTgoing cash. (No way to
243  // see if it's been accepted, so
244  // this lets you erase the
245  // record of sending it.)
246  EXPORT bool CancelOutgoing(std::string str_via_acct) const; // For outgoing,
247  // pending
248  // (not-yet-accepted) instruments.
249  // NOTE: str_via_acct can be blank if a
250  // cheque. But if voucher, smart
251  // contract, payment plan, you must
252  // provide.
253  EXPORT bool AcceptIncomingInstrument(
254  const std::string& str_into_acct) const; // For incoming, pending
255  // (not-yet-accepted) instruments.
256  EXPORT bool AcceptIncomingTransfer() const; // For incoming, pending
257  // (not-yet-accepted) transfers.
258  EXPORT bool AcceptIncomingReceipt() const; // For incoming,
259  // (not-yet-accepted)
260  // receipts.
261  EXPORT bool DiscardIncoming() const; // For incoming, pending
262  // (not-yet-accepted)
263  // instruments.
264  EXPORT bool DeleteRecord() const; // For completed records (not pending.)
265  EXPORT bool DiscardOutgoingCash() const; // For OUTgoing cash. (No way to
266  // see if
267  // it's been accepted, so this lets you
268  // erase the record of sending it.)
269  EXPORT int32_t GetBoxIndex() const; // If this is set to 3, for example, for
270  // a payment in the payments inbox, then
271  // index 3 in that same box refers to
272  // the payment corresponding to this
273  // record.
274  EXPORT void SetBoxIndex(int32_t nBoxIndex);
275  EXPORT int32_t GetMethodID() const; // Used by "special mail."
276  EXPORT void SetMethodID(int32_t nMethodID);
277  EXPORT const std::string& GetMsgID() const; // Used by "special mail."
278  EXPORT void SetMsgID(const std::string& str_id);
279  EXPORT const std::string& GetMsgType() const; // Used by "special mail."
280  EXPORT void SetMsgType(const std::string& str_type);
281  EXPORT const std::string& GetMsgTypeDisplay() const; // Used by "special
282  // mail."
283  EXPORT void SetMsgTypeDisplay(const std::string& str_type);
284  EXPORT int64_t GetTransactionNum() const; // Trans Num of receipt in the
285  // box. (Unless outpayment,
286  // contains number for
287  // instrument.)
288  EXPORT void SetTransactionNum(int64_t lTransNum);
289  EXPORT int64_t GetTransNumForDisplay() const; // Trans Num of the cheque
290  // inside the receipt in the
291  // box.
292  EXPORT void SetTransNumForDisplay(int64_t lTransNum);
293  EXPORT OTRecordType GetRecordType() const;
294  EXPORT const std::string& GetServerID() const;
295  EXPORT const std::string& GetAssetID() const;
296  EXPORT const std::string& GetCurrencyTLA() const; // BTC, USD, etc.
297  EXPORT const std::string& GetNymID() const;
298  EXPORT const std::string& GetAccountID() const;
299  EXPORT const std::string& GetAddress() const; // Used by "special mail"
300  EXPORT const std::string& GetOtherNymID() const; // Could be sender OR
301  // recipient depending on
302  // whether
303  // incoming/outgoing.
304  EXPORT const std::string& GetOtherAccountID() const; // Could be sender OR
305  // recipient depending
306  // on whether
307  // incoming/outgoing.
308  EXPORT const std::string& GetOtherAddress() const; // Used by "special mail"
309  EXPORT const std::string& GetName() const;
310  EXPORT const std::string& GetDate() const;
311  EXPORT const std::string& GetAmount() const;
312  EXPORT const std::string& GetInstrumentType() const;
313  EXPORT const std::string& GetMemo() const;
314  EXPORT const std::string& GetContents() const;
315  EXPORT void SetOtherNymID(const std::string& str_ID);
316  EXPORT void SetOtherAccountID(const std::string& str_ID);
317  EXPORT void SetAddress(const std::string& str_Address); // Used by "special
318  // mail"
319  EXPORT void SetOtherAddress(const std::string& str_Address); // Used by
320  // "special
321  // mail"
322  EXPORT void SetMemo(const std::string& str_memo);
323  EXPORT void SetContents(const std::string& str_contents);
324  // These don't work unless the record is for a pending
325  // payment plan.
326  //
327  EXPORT bool HasInitialPayment() const;
328  EXPORT bool HasPaymentPlan() const;
329 
330  EXPORT time64_t GetInitialPaymentDate() const;
331  EXPORT time64_t GetPaymentPlanStartDate() const;
332  EXPORT time64_t GetTimeBetweenPayments() const;
333 
334  EXPORT int64_t GetInitialPaymentAmount() const;
335  EXPORT int64_t GetPaymentPlanAmount() const;
336 
337  EXPORT int32_t GetMaximumNoPayments() const;
338  EXPORT bool FormatAmount(std::string& str_output) const;
339  EXPORT bool FormatDescription(std::string& str_output) const;
340  EXPORT bool FormatShortMailDescription(std::string& str_output) const;
341  EXPORT bool FormatMailSubject(std::string& str_output) const;
342  bool operator<(const OTRecord& rhs);
343  OTRecord(const std::string& str_server_id, const std::string& str_asset_id,
344  const std::string& str_currency_tla, const std::string& str_nym_id,
345  const std::string& str_account_id, const std::string& str_name,
346  const std::string& str_date, const std::string& str_amount,
347  const std::string& str_type, bool bIsPending, bool bIsOutgoing,
348  bool bIsRecord, bool bIsReceipt, OTRecordType eRecordType);
349 };
350 
351 } // namespace opentxs
352 
353 #endif // OPENTXS_CLIENT_OTRECORD_HPP
EXPORT bool HasPaymentPlan() const
Definition: OTRecord.cpp:443
EXPORT const std::string & GetMsgType() const
Definition: OTRecord.cpp:1277
EXPORT int64_t GetPaymentPlanAmount() const
Definition: OTRecord.cpp:503
EXPORT bool IsCheque() const
Definition: OTRecord.cpp:998
EXPORT const std::string & GetCurrencyTLA() const
Definition: OTRecord.cpp:1213
EXPORT time64_t GetValidFrom() const
Definition: OTRecord.cpp:1368
EXPORT int32_t GetMaximumNoPayments() const
Definition: OTRecord.cpp:515
EXPORT bool CanAcceptIncoming() const
Definition: OTRecord.cpp:546
EXPORT time64_t GetTimeBetweenPayments() const
Definition: OTRecord.cpp:491
EXPORT int64_t GetInitialPaymentAmount() const
Definition: OTRecord.cpp:467
EXPORT bool CanDeleteRecord() const
Definition: OTRecord.cpp:532
EXPORT void SetContents(const std::string &str_contents)
Definition: OTRecord.cpp:1333
EXPORT int64_t GetTransactionNum() const
Definition: OTRecord.cpp:1142
EXPORT void SetTransactionNum(int64_t lTransNum)
Definition: OTRecord.cpp:1147
EXPORT bool IsSpecialMail() const
Definition: OTRecord.cpp:1257
EXPORT const std::string & GetOtherAddress() const
Definition: OTRecord.cpp:1269
EXPORT bool DiscardOutgoingCash() const
Definition: OTRecord.cpp:646
EXPORT void SetSpecialMail(bool bIsSpecial=true)
Definition: OTRecord.cpp:1285
EXPORT bool IsMail() const
Definition: OTRecord.cpp:1169
EXPORT bool IsOutgoing() const
Definition: OTRecord.cpp:1177
int64_t time64_t
Definition: Common.hpp:209
EXPORT void SetExpired()
Definition: OTRecord.cpp:1161
EXPORT const std::string & GetMsgTypeDisplay() const
Definition: OTRecord.cpp:1281
EXPORT void SetDateRange(time64_t tValidFrom, time64_t tValidTo)
Definition: OTRecord.cpp:1376
EXPORT const std::string & GetAccountID() const
Definition: OTRecord.cpp:1221
EXPORT time64_t GetInitialPaymentDate() const
Definition: OTRecord.cpp:455
EXPORT bool IsCash() const
Definition: OTRecord.cpp:990
EXPORT int32_t GetBoxIndex() const
Definition: OTRecord.cpp:1313
EXPORT void SetMsgTypeDisplay(const std::string &str_type)
Definition: OTRecord.cpp:1309
EXPORT bool FormatDescription(std::string &str_output) const
Definition: OTRecord.cpp:235
EXPORT time64_t GetValidTo() const
Definition: OTRecord.cpp:1372
EXPORT void SetTransNumForDisplay(int64_t lTransNum)
Definition: OTRecord.cpp:1157
EXPORT bool HasMemo() const
Definition: OTRecord.cpp:1193
EXPORT void SetOtherAddress(const std::string &str_Address)
Definition: OTRecord.cpp:1297
EXPORT const std::string & GetOtherAccountID() const
Definition: OTRecord.cpp:1229
EXPORT OTRecordType GetRecordType() const
Definition: OTRecord.cpp:526
EXPORT bool FormatMailSubject(std::string &str_output) const
Definition: OTRecord.cpp:167
EXPORT bool FormatShortMailDescription(std::string &str_output) const
Definition: OTRecord.cpp:198
EXPORT bool IsTransfer() const
Definition: OTRecord.cpp:986
EXPORT void SetMemo(const std::string &str_memo)
Definition: OTRecord.cpp:1321
EXPORT bool HasInitialPayment() const
Definition: OTRecord.cpp:431
EXPORT void SetMsgID(const std::string &str_id)
Definition: OTRecord.cpp:1301
EXPORT bool IsRecord() const
Definition: OTRecord.cpp:1181
EXPORT const std::string & GetAmount() const
Definition: OTRecord.cpp:1241
EXPORT bool IsCanceled() const
Definition: OTRecord.cpp:1201
EXPORT time64_t GetPaymentPlanStartDate() const
Definition: OTRecord.cpp:479
EXPORT const std::string & GetMemo() const
Definition: OTRecord.cpp:1249
EXPORT void SetOtherNymID(const std::string &str_ID)
Definition: OTRecord.cpp:1325
EXPORT const std::string & GetAssetID() const
Definition: OTRecord.cpp:1209
EXPORT const std::string & GetDate() const
Definition: OTRecord.cpp:1237
EXPORT bool IsInvoice() const
Definition: OTRecord.cpp:994
EXPORT bool IsExpired() const
Definition: OTRecord.cpp:1197
EXPORT void SetBoxIndex(int32_t nBoxIndex)
Definition: OTRecord.cpp:1317
bool operator<(const OTRecord &rhs)
Definition: OTRecord.cpp:1385
EXPORT bool FormatAmount(std::string &str_output) const
Definition: OTRecord.cpp:153
EXPORT const std::string & GetMsgID() const
Definition: OTRecord.cpp:1273
EXPORT bool CanCancelOutgoing() const
Definition: OTRecord.cpp:618
EXPORT bool IsPaymentPlan() const
Definition: OTRecord.cpp:1010
EXPORT bool AcceptIncomingInstrument(const std::string &str_into_acct) const
Definition: OTRecord.cpp:854
EXPORT const std::string & GetContents() const
Definition: OTRecord.cpp:1253
EXPORT bool HasContents() const
Definition: OTRecord.cpp:1189
EXPORT const std::string & GetInstrumentType() const
Definition: OTRecord.cpp:1245
EXPORT bool CanDiscardIncoming() const
Definition: OTRecord.cpp:578
EXPORT bool IsPending() const
Definition: OTRecord.cpp:1173
EXPORT bool CanDiscardOutgoingCash() const
Definition: OTRecord.cpp:601
EXPORT bool IsReceipt() const
Definition: OTRecord.cpp:1185
EXPORT bool AcceptIncomingTransfer() const
Definition: OTRecord.cpp:776
EXPORT int32_t GetMethodID() const
Definition: OTRecord.cpp:1261
EXPORT bool DiscardIncoming() const
Definition: OTRecord.cpp:924
EXPORT void SetCanceled()
Definition: OTRecord.cpp:1165
EXPORT void SetMethodID(int32_t nMethodID)
Definition: OTRecord.cpp:1289
EXPORT void SetAddress(const std::string &str_Address)
Definition: OTRecord.cpp:1293
EXPORT const std::string & GetOtherNymID() const
Definition: OTRecord.cpp:1225
EXPORT bool AcceptIncomingReceipt() const
Definition: OTRecord.cpp:780
EXPORT bool DeleteRecord() const
Definition: OTRecord.cpp:655
EXPORT int64_t GetTransNumForDisplay() const
Definition: OTRecord.cpp:1151
EXPORT const std::string & GetAddress() const
Definition: OTRecord.cpp:1265
EXPORT const std::string & GetName() const
Definition: OTRecord.cpp:1233
EXPORT const std::string & GetNymID() const
Definition: OTRecord.cpp:1217
EXPORT bool CancelOutgoing(std::string str_via_acct) const
Definition: OTRecord.cpp:1016
EXPORT bool IsVoucher() const
Definition: OTRecord.cpp:1002
EXPORT const std::string & GetServerID() const
Definition: OTRecord.cpp:1205
EXPORT void SetMsgType(const std::string &str_type)
Definition: OTRecord.cpp:1305
OTRecord(const std::string &str_server_id, const std::string &str_asset_id, const std::string &str_currency_tla, const std::string &str_nym_id, const std::string &str_account_id, const std::string &str_name, const std::string &str_date, const std::string &str_amount, const std::string &str_type, bool bIsPending, bool bIsOutgoing, bool bIsRecord, bool bIsReceipt, OTRecordType eRecordType)
Definition: OTRecord.cpp:1389
EXPORT void SetOtherAccountID(const std::string &str_ID)
Definition: OTRecord.cpp:1329
EXPORT bool IsContract() const
Definition: OTRecord.cpp:1006