mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-22 03:55:53 +00:00
deploy: 32ced493de
This commit is contained in:
@@ -88,91 +88,129 @@ $(function() {
|
||||
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment">*/</span></div>
|
||||
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment">//==============================================================================</span></div>
|
||||
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>  </div>
|
||||
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#include <ripple/app/main/Application.h></span></div>
|
||||
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#include <ripple/app/misc/DeliverMax.h></span></div>
|
||||
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#include <ripple/ledger/ReadView.h></span></div>
|
||||
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#include <ripple/protocol/jss.h></span></div>
|
||||
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#include <ripple/rpc/Context.h></span></div>
|
||||
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#include <ripple/rpc/impl/RPCHelpers.h></span></div>
|
||||
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>  </div>
|
||||
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="keyword">namespace </span><a class="code" href="namespaceripple.html">ripple</a> {</div>
|
||||
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>  </div>
|
||||
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">// {</span></div>
|
||||
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment">// ledger_hash : <ledger>,</span></div>
|
||||
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">// ledger_index : <ledger_index></span></div>
|
||||
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">// }</span></div>
|
||||
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">// XXX In this case, not specify either ledger does not mean ledger current. It</span></div>
|
||||
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">// means any ledger.</span></div>
|
||||
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <a class="code" href="classJson_1_1Value.html">Json::Value</a></div>
|
||||
<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="namespaceripple.html#a3282700cca1a14f43cfb62b1465594ca"> 37</a></span> <a class="code" href="namespaceripple.html#a3282700cca1a14f43cfb62b1465594ca">doTransactionEntry</a>(<a class="code" href="structripple_1_1RPC_1_1JsonContext.html">RPC::JsonContext</a>& context)</div>
|
||||
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> {</div>
|
||||
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<ReadView const></a> lpLedger;</div>
|
||||
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  <a class="code" href="classJson_1_1Value.html">Json::Value</a> jvResult = <a class="code" href="namespaceripple_1_1RPC.html#aaebfaaee35308269fab499f4e203a8c9">RPC::lookupLedger</a>(lpLedger, context);</div>
|
||||
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  </div>
|
||||
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  <span class="keywordflow">if</span> (!lpLedger)</div>
|
||||
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <span class="keywordflow">return</span> jvResult;</div>
|
||||
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  </div>
|
||||
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <span class="keywordflow">if</span> (!context.<a class="code" href="structripple_1_1RPC_1_1JsonContext.html#a036b2c14552fbca49011c3d0e78017fa">params</a>.<a class="code" href="classJson_1_1Value.html#ad6d4df2227321bab05e86667609a7fad">isMember</a>(jss::tx_hash))</div>
|
||||
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  {</div>
|
||||
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  jvResult[jss::error] = <span class="stringliteral">"fieldNotFoundTransaction"</span>;</div>
|
||||
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  }</div>
|
||||
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (jvResult.<a class="code" href="classJson_1_1Value.html#a16db50154a2bd28e399be167f76d9ab9">get</a>(jss::ledger_hash, <a class="code" href="namespaceJson.html#a7d654b75c16a57007925868e38212b4ea7d9899633b4409bd3fc107e6737f8391">Json::nullValue</a>).<a class="code" href="classJson_1_1Value.html#abde4070e21e46dc4f8203f66582cb19f">isNull</a>())</div>
|
||||
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  {</div>
|
||||
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <span class="comment">// We don't work on ledger current.</span></div>
|
||||
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  </div>
|
||||
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="comment">// XXX We don't support any transaction yet.</span></div>
|
||||
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  jvResult[jss::error] = <span class="stringliteral">"notYetImplemented"</span>;</div>
|
||||
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  }</div>
|
||||
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <span class="keywordflow">else</span></div>
|
||||
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  {</div>
|
||||
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <a class="code" href="classripple_1_1base__uint.html">uint256</a> uTransID;</div>
|
||||
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="comment">// XXX Relying on trusted WSS client. Would be better to have a strict</span></div>
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="comment">// routine, returning success or failure.</span></div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keywordflow">if</span> (!uTransID.<a class="code" href="classripple_1_1base__uint.html#a698d3fd0c0f0155995c87d2f48ac90d5">parseHex</a>(context.<a class="code" href="structripple_1_1RPC_1_1JsonContext.html#a036b2c14552fbca49011c3d0e78017fa">params</a>[jss::tx_hash].<a class="code" href="classJson_1_1Value.html#ab0d86bf425efefd03513e8dbfaca317b">asString</a>()))</div>
|
||||
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  {</div>
|
||||
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  jvResult[jss::error] = <span class="stringliteral">"malformedRequest"</span>;</div>
|
||||
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="keywordflow">return</span> jvResult;</div>
|
||||
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  }</div>
|
||||
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  </div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <span class="keyword">auto</span> [sttx, stobj] = lpLedger-><a class="code" href="classripple_1_1ReadView.html#af88b035a71531a9b27ee2fa25d0444e9">txRead</a>(uTransID);</div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keywordflow">if</span> (!sttx)</div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  {</div>
|
||||
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  jvResult[jss::error] = <span class="stringliteral">"transactionNotFound"</span>;</div>
|
||||
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  }</div>
|
||||
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <span class="keywordflow">else</span></div>
|
||||
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  {</div>
|
||||
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  jvResult[jss::tx_json] = sttx->getJson(<a class="code" href="namespaceripple.html#a169967ff418b80729654b6d45ade8711a334c4a4c42fdb79d7ebc3e73b517e6f8">JsonOptions::none</a>);</div>
|
||||
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <a class="code" href="namespaceripple_1_1RPC.html#abf346555d1927183974ae3feef4a25ec">RPC::insertDeliverMax</a>(</div>
|
||||
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  jvResult[jss::tx_json], sttx->getTxnType(), context.<a class="code" href="structripple_1_1RPC_1_1Context.html#a0eab3b46cc23d67a6d16d1fb6bcaf0a2">apiVersion</a>);</div>
|
||||
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <span class="keywordflow">if</span> (stobj)</div>
|
||||
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  jvResult[jss::metadata] = stobj->getJson(<a class="code" href="namespaceripple.html#a169967ff418b80729654b6d45ade8711a334c4a4c42fdb79d7ebc3e73b517e6f8">JsonOptions::none</a>);</div>
|
||||
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="comment">// 'accounts'</span></div>
|
||||
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="comment">// 'engine_...'</span></div>
|
||||
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="comment">// 'ledger_...'</span></div>
|
||||
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  }</div>
|
||||
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  }</div>
|
||||
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#include <ripple/app/ledger/LedgerMaster.h></span></div>
|
||||
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#include <ripple/app/main/Application.h></span></div>
|
||||
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#include <ripple/app/misc/DeliverMax.h></span></div>
|
||||
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#include <ripple/ledger/ReadView.h></span></div>
|
||||
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#include <ripple/protocol/jss.h></span></div>
|
||||
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#include <ripple/rpc/Context.h></span></div>
|
||||
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#include <ripple/rpc/impl/RPCHelpers.h></span></div>
|
||||
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  </div>
|
||||
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="keyword">namespace </span><a class="code" href="namespaceripple.html">ripple</a> {</div>
|
||||
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  </div>
|
||||
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment">// {</span></div>
|
||||
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">// ledger_hash : <ledger>,</span></div>
|
||||
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">// ledger_index : <ledger_index></span></div>
|
||||
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">// }</span></div>
|
||||
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">// XXX In this case, not specify either ledger does not mean ledger current. It</span></div>
|
||||
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">// means any ledger.</span></div>
|
||||
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <a class="code" href="classJson_1_1Value.html">Json::Value</a></div>
|
||||
<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="namespaceripple.html#a3282700cca1a14f43cfb62b1465594ca"> 38</a></span> <a class="code" href="namespaceripple.html#a3282700cca1a14f43cfb62b1465594ca">doTransactionEntry</a>(<a class="code" href="structripple_1_1RPC_1_1JsonContext.html">RPC::JsonContext</a>& context)</div>
|
||||
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> {</div>
|
||||
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<ReadView const></a> lpLedger;</div>
|
||||
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <a class="code" href="classJson_1_1Value.html">Json::Value</a> jvResult = <a class="code" href="namespaceripple_1_1RPC.html#aaebfaaee35308269fab499f4e203a8c9">RPC::lookupLedger</a>(lpLedger, context);</div>
|
||||
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  </div>
|
||||
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <span class="keywordflow">if</span> (!lpLedger)</div>
|
||||
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keywordflow">return</span> jvResult;</div>
|
||||
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  </div>
|
||||
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="keywordflow">if</span> (!context.<a class="code" href="structripple_1_1RPC_1_1JsonContext.html#a036b2c14552fbca49011c3d0e78017fa">params</a>.<a class="code" href="classJson_1_1Value.html#ad6d4df2227321bab05e86667609a7fad">isMember</a>(jss::tx_hash))</div>
|
||||
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  {</div>
|
||||
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  jvResult[jss::error] = <span class="stringliteral">"fieldNotFoundTransaction"</span>;</div>
|
||||
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  }</div>
|
||||
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (jvResult.<a class="code" href="classJson_1_1Value.html#a16db50154a2bd28e399be167f76d9ab9">get</a>(jss::ledger_hash, <a class="code" href="namespaceJson.html#a7d654b75c16a57007925868e38212b4ea7d9899633b4409bd3fc107e6737f8391">Json::nullValue</a>).<a class="code" href="classJson_1_1Value.html#abde4070e21e46dc4f8203f66582cb19f">isNull</a>())</div>
|
||||
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  {</div>
|
||||
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <span class="comment">// We don't work on ledger current.</span></div>
|
||||
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  </div>
|
||||
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="comment">// XXX We don't support any transaction yet.</span></div>
|
||||
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  jvResult[jss::error] = <span class="stringliteral">"notYetImplemented"</span>;</div>
|
||||
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  }</div>
|
||||
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <span class="keywordflow">else</span></div>
|
||||
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  {</div>
|
||||
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <a class="code" href="classripple_1_1base__uint.html">uint256</a> uTransID;</div>
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="comment">// XXX Relying on trusted WSS client. Would be better to have a strict</span></div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="comment">// routine, returning success or failure.</span></div>
|
||||
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="keywordflow">if</span> (!uTransID.<a class="code" href="classripple_1_1base__uint.html#a698d3fd0c0f0155995c87d2f48ac90d5">parseHex</a>(context.<a class="code" href="structripple_1_1RPC_1_1JsonContext.html#a036b2c14552fbca49011c3d0e78017fa">params</a>[jss::tx_hash].<a class="code" href="classJson_1_1Value.html#ab0d86bf425efefd03513e8dbfaca317b">asString</a>()))</div>
|
||||
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  {</div>
|
||||
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  jvResult[jss::error] = <span class="stringliteral">"malformedRequest"</span>;</div>
|
||||
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="keywordflow">return</span> jvResult;</div>
|
||||
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  }</div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  </div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keyword">auto</span> [sttx, stobj] = lpLedger-><a class="code" href="classripple_1_1ReadView.html#af88b035a71531a9b27ee2fa25d0444e9">txRead</a>(uTransID);</div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <span class="keywordflow">if</span> (!sttx)</div>
|
||||
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  {</div>
|
||||
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  jvResult[jss::error] = <span class="stringliteral">"transactionNotFound"</span>;</div>
|
||||
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  }</div>
|
||||
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="keywordflow">else</span></div>
|
||||
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  {</div>
|
||||
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <span class="keywordflow">if</span> (context.<a class="code" href="structripple_1_1RPC_1_1Context.html#a0eab3b46cc23d67a6d16d1fb6bcaf0a2">apiVersion</a> > 1)</div>
|
||||
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  {</div>
|
||||
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  jvResult[jss::tx_json] =</div>
|
||||
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  sttx->getJson(<a class="code" href="structripple_1_1JsonOptions.html#ab85e43ec84df987200d3355c3ba89f0aa3ace7cc623d6c6f5783c87db5efea1bc">JsonOptions::disable_API_prior_V2</a>);</div>
|
||||
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  jvResult[jss::hash] = <a class="code" href="namespaceripple.html#af9776f187d3686a7fba4c2d2fbeebdf4">to_string</a>(sttx->getTransactionID());</div>
|
||||
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  </div>
|
||||
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="keywordflow">if</span> (!lpLedger-><a class="code" href="classripple_1_1ReadView.html#a8dc63ee1e4ae7b2f96823e146c53d03e">open</a>())</div>
|
||||
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  jvResult[jss::ledger_hash] = <a class="code" href="namespaceripple.html#af9776f187d3686a7fba4c2d2fbeebdf4">to_string</a>(</div>
|
||||
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  context.<a class="code" href="structripple_1_1RPC_1_1Context.html#a92c98828663b6b80d3eb15850ec6897a">ledgerMaster</a>.<a class="code" href="classripple_1_1LedgerMaster.html#a4f59228c74d5491f68333ef250431cdb">getHashBySeq</a>(lpLedger-><a class="code" href="classripple_1_1ReadView.html#ac284afc905c482953c35c61b459fd85b">seq</a>()));</div>
|
||||
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  </div>
|
||||
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <span class="keywordflow">return</span> jvResult;</div>
|
||||
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> }</div>
|
||||
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <span class="keywordtype">bool</span> <span class="keyword">const</span> validated =</div>
|
||||
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  context.<a class="code" href="structripple_1_1RPC_1_1Context.html#a92c98828663b6b80d3eb15850ec6897a">ledgerMaster</a>.<a class="code" href="classripple_1_1LedgerMaster.html#a48138c39fa398b7f218f8278b496f550">isValidated</a>(*lpLedger);</div>
|
||||
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  </div>
|
||||
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> } <span class="comment">// namespace ripple</span></div>
|
||||
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  jvResult[jss::validated] = validated;</div>
|
||||
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="keywordflow">if</span> (validated)</div>
|
||||
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  {</div>
|
||||
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  jvResult[jss::ledger_index] = lpLedger-><a class="code" href="classripple_1_1ReadView.html#ac284afc905c482953c35c61b459fd85b">seq</a>();</div>
|
||||
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <span class="keywordflow">if</span> (<span class="keyword">auto</span> closeTime = context.<a class="code" href="structripple_1_1RPC_1_1Context.html#a92c98828663b6b80d3eb15850ec6897a">ledgerMaster</a>.<a class="code" href="classripple_1_1LedgerMaster.html#a330510efd66b4b08e57f5c0b896560ef">getCloseTimeBySeq</a>(</div>
|
||||
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  lpLedger-><a class="code" href="classripple_1_1ReadView.html#ac284afc905c482953c35c61b459fd85b">seq</a>()))</div>
|
||||
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  jvResult[jss::close_time_iso] =</div>
|
||||
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <a class="code" href="namespaceripple.html#ab8a538c16be43509b3ab21d93c19521a">to_string_iso</a>(*closeTime);</div>
|
||||
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  }</div>
|
||||
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  }</div>
|
||||
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <span class="keywordflow">else</span></div>
|
||||
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  jvResult[jss::tx_json] = sttx->getJson(<a class="code" href="structripple_1_1JsonOptions.html#ab85e43ec84df987200d3355c3ba89f0aa1917451e3686dfe8d5016670eb87ab33">JsonOptions::none</a>);</div>
|
||||
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  </div>
|
||||
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <a class="code" href="namespaceripple_1_1RPC.html#abf346555d1927183974ae3feef4a25ec">RPC::insertDeliverMax</a>(</div>
|
||||
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  jvResult[jss::tx_json], sttx->getTxnType(), context.<a class="code" href="structripple_1_1RPC_1_1Context.html#a0eab3b46cc23d67a6d16d1fb6bcaf0a2">apiVersion</a>);</div>
|
||||
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  </div>
|
||||
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keyword">auto</span> <span class="keyword">const</span> json_meta =</div>
|
||||
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  (context.<a class="code" href="structripple_1_1RPC_1_1Context.html#a0eab3b46cc23d67a6d16d1fb6bcaf0a2">apiVersion</a> > 1 ? jss::meta : jss::metadata);</div>
|
||||
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <span class="keywordflow">if</span> (stobj)</div>
|
||||
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  jvResult[json_meta] = stobj->getJson(<a class="code" href="structripple_1_1JsonOptions.html#ab85e43ec84df987200d3355c3ba89f0aa1917451e3686dfe8d5016670eb87ab33">JsonOptions::none</a>);</div>
|
||||
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="comment">// 'accounts'</span></div>
|
||||
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="comment">// 'engine_...'</span></div>
|
||||
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <span class="comment">// 'ledger_...'</span></div>
|
||||
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  }</div>
|
||||
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  }</div>
|
||||
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  </div>
|
||||
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="keywordflow">return</span> jvResult;</div>
|
||||
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> }</div>
|
||||
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  </div>
|
||||
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> } <span class="comment">// namespace ripple</span></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<div class="ttc" id="astructripple_1_1JsonOptions_html_ab85e43ec84df987200d3355c3ba89f0aa3ace7cc623d6c6f5783c87db5efea1bc"><div class="ttname"><a href="structripple_1_1JsonOptions.html#ab85e43ec84df987200d3355c3ba89f0aa3ace7cc623d6c6f5783c87db5efea1bc">ripple::JsonOptions::disable_API_prior_V2</a></div><div class="ttdeci">@ disable_API_prior_V2</div><div class="ttdef"><b>Definition:</b> <a href="STBase_8h_source.html#l00044">STBase.h:44</a></div></div>
|
||||
<div class="ttc" id="astructripple_1_1RPC_1_1JsonContext_html"><div class="ttname"><a href="structripple_1_1RPC_1_1JsonContext.html">ripple::RPC::JsonContext</a></div><div class="ttdef"><b>Definition:</b> <a href="Context_8h_source.html#l00053">Context.h:53</a></div></div>
|
||||
<div class="ttc" id="ashared_ptr_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a></div><div class="ttdoc">STL class.</div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1RPC_html_abf346555d1927183974ae3feef4a25ec"><div class="ttname"><a href="namespaceripple_1_1RPC.html#abf346555d1927183974ae3feef4a25ec">ripple::RPC::insertDeliverMax</a></div><div class="ttdeci">void insertDeliverMax(Json::Value &tx_json, TxType txnType, unsigned int apiVersion)</div><div class="ttdoc">Copy Amount field to DeliverMax field in transaction output JSON.</div><div class="ttdef"><b>Definition:</b> <a href="DeliverMax_8cpp_source.html#l00028">DeliverMax.cpp:28</a></div></div>
|
||||
<div class="ttc" id="aclassJson_1_1Value_html_a16db50154a2bd28e399be167f76d9ab9"><div class="ttname"><a href="classJson_1_1Value.html#a16db50154a2bd28e399be167f76d9ab9">Json::Value::get</a></div><div class="ttdeci">Value get(UInt index, const Value &defaultValue) const</div><div class="ttdoc">If the array contains at least index+1 elements, returns the element value, otherwise returns default...</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8cpp_source.html#l00834">json_value.cpp:834</a></div></div>
|
||||
<div class="ttc" id="astructripple_1_1RPC_1_1Context_html_a92c98828663b6b80d3eb15850ec6897a"><div class="ttname"><a href="structripple_1_1RPC_1_1Context.html#a92c98828663b6b80d3eb15850ec6897a">ripple::RPC::Context::ledgerMaster</a></div><div class="ttdeci">LedgerMaster & ledgerMaster</div><div class="ttdef"><b>Definition:</b> <a href="Context_8h_source.html#l00045">Context.h:45</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_ab8a538c16be43509b3ab21d93c19521a"><div class="ttname"><a href="namespaceripple.html#ab8a538c16be43509b3ab21d93c19521a">ripple::to_string_iso</a></div><div class="ttdeci">std::string to_string_iso(date::sys_time< Duration > tp)</div><div class="ttdef"><b>Definition:</b> <a href="chrono_8h_source.html#l00093">chrono.h:93</a></div></div>
|
||||
<div class="ttc" id="aclassJson_1_1Value_html_abde4070e21e46dc4f8203f66582cb19f"><div class="ttname"><a href="classJson_1_1Value.html#abde4070e21e46dc4f8203f66582cb19f">Json::Value::isNull</a></div><div class="ttdeci">bool isNull() const</div><div class="ttdoc">isNull() tests to see if this field is null.</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8cpp_source.html#l00967">json_value.cpp:967</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1RPC_html_aaebfaaee35308269fab499f4e203a8c9"><div class="ttname"><a href="namespaceripple_1_1RPC.html#aaebfaaee35308269fab499f4e203a8c9">ripple::RPC::lookupLedger</a></div><div class="ttdeci">Status lookupLedger(std::shared_ptr< ReadView const > &ledger, JsonContext &context, Json::Value &result)</div><div class="ttdoc">Look up a ledger from a request and fill a Json::Result with the data representing a ledger.</div><div class="ttdef"><b>Definition:</b> <a href="RPCHelpers_8cpp_source.html#l00676">RPCHelpers.cpp:676</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1RPC_html_aaebfaaee35308269fab499f4e203a8c9"><div class="ttname"><a href="namespaceripple_1_1RPC.html#aaebfaaee35308269fab499f4e203a8c9">ripple::RPC::lookupLedger</a></div><div class="ttdeci">Status lookupLedger(std::shared_ptr< ReadView const > &ledger, JsonContext &context, Json::Value &result)</div><div class="ttdoc">Look up a ledger from a request and fill a Json::Result with the data representing a ledger.</div><div class="ttdef"><b>Definition:</b> <a href="RPCHelpers_8cpp_source.html#l00623">RPCHelpers.cpp:623</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1base__uint_html"><div class="ttname"><a href="classripple_1_1base__uint.html">ripple::base_uint< 256 ></a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a169967ff418b80729654b6d45ade8711a334c4a4c42fdb79d7ebc3e73b517e6f8"><div class="ttname"><a href="namespaceripple.html#a169967ff418b80729654b6d45ade8711a334c4a4c42fdb79d7ebc3e73b517e6f8">ripple::JsonOptions::none</a></div><div class="ttdeci">@ none</div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ReadView_html_af88b035a71531a9b27ee2fa25d0444e9"><div class="ttname"><a href="classripple_1_1ReadView.html#af88b035a71531a9b27ee2fa25d0444e9">ripple::ReadView::txRead</a></div><div class="ttdeci">virtual tx_type txRead(key_type const &key) const =0</div><div class="ttdoc">Read a transaction from the tx map.</div></div>
|
||||
<div class="ttc" id="aclassJson_1_1Value_html_ad6d4df2227321bab05e86667609a7fad"><div class="ttname"><a href="classJson_1_1Value.html#ad6d4df2227321bab05e86667609a7fad">Json::Value::isMember</a></div><div class="ttdeci">bool isMember(const char *key) const</div><div class="ttdoc">Return true if the object has a member named key.</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8cpp_source.html#l00932">json_value.cpp:932</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a3282700cca1a14f43cfb62b1465594ca"><div class="ttname"><a href="namespaceripple.html#a3282700cca1a14f43cfb62b1465594ca">ripple::doTransactionEntry</a></div><div class="ttdeci">Json::Value doTransactionEntry(RPC::JsonContext &)</div><div class="ttdef"><b>Definition:</b> <a href="TransactionEntry_8cpp_source.html#l00037">TransactionEntry.cpp:37</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a3282700cca1a14f43cfb62b1465594ca"><div class="ttname"><a href="namespaceripple.html#a3282700cca1a14f43cfb62b1465594ca">ripple::doTransactionEntry</a></div><div class="ttdeci">Json::Value doTransactionEntry(RPC::JsonContext &)</div><div class="ttdef"><b>Definition:</b> <a href="TransactionEntry_8cpp_source.html#l00038">TransactionEntry.cpp:38</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html"><div class="ttname"><a href="namespaceripple.html">ripple</a></div><div class="ttdoc">Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.</div><div class="ttdef"><b>Definition:</b> <a href="RCLCensorshipDetector_8h_source.html#l00029">RCLCensorshipDetector.h:29</a></div></div>
|
||||
<div class="ttc" id="astructripple_1_1JsonOptions_html_ab85e43ec84df987200d3355c3ba89f0aa1917451e3686dfe8d5016670eb87ab33"><div class="ttname"><a href="structripple_1_1JsonOptions.html#ab85e43ec84df987200d3355c3ba89f0aa1917451e3686dfe8d5016670eb87ab33">ripple::JsonOptions::none</a></div><div class="ttdeci">@ none</div><div class="ttdef"><b>Definition:</b> <a href="STBase_8h_source.html#l00042">STBase.h:42</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_a330510efd66b4b08e57f5c0b896560ef"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#a330510efd66b4b08e57f5c0b896560ef">ripple::LedgerMaster::getCloseTimeBySeq</a></div><div class="ttdeci">std::optional< NetClock::time_point > getCloseTimeBySeq(LedgerIndex ledgerIndex)</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l01766">LedgerMaster.cpp:1766</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_a48138c39fa398b7f218f8278b496f550"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#a48138c39fa398b7f218f8278b496f550">ripple::LedgerMaster::isValidated</a></div><div class="ttdeci">bool isValidated(ReadView const &ledger)</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l00607">LedgerMaster.cpp:607</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ReadView_html_ac284afc905c482953c35c61b459fd85b"><div class="ttname"><a href="classripple_1_1ReadView.html#ac284afc905c482953c35c61b459fd85b">ripple::ReadView::seq</a></div><div class="ttdeci">LedgerIndex seq() const</div><div class="ttdoc">Returns the sequence number of the base ledger.</div><div class="ttdef"><b>Definition:</b> <a href="ReadView_8h_source.html#l00122">ReadView.h:122</a></div></div>
|
||||
<div class="ttc" id="astructripple_1_1RPC_1_1Context_html_a0eab3b46cc23d67a6d16d1fb6bcaf0a2"><div class="ttname"><a href="structripple_1_1RPC_1_1Context.html#a0eab3b46cc23d67a6d16d1fb6bcaf0a2">ripple::RPC::Context::apiVersion</a></div><div class="ttdeci">unsigned int apiVersion</div><div class="ttdef"><b>Definition:</b> <a href="Context_8h_source.html#l00050">Context.h:50</a></div></div>
|
||||
<div class="ttc" id="anamespaceJson_html_a7d654b75c16a57007925868e38212b4ea7d9899633b4409bd3fc107e6737f8391"><div class="ttname"><a href="namespaceJson.html#a7d654b75c16a57007925868e38212b4ea7d9899633b4409bd3fc107e6737f8391">Json::nullValue</a></div><div class="ttdeci">@ nullValue</div><div class="ttdoc">'null' value</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8h_source.html#l00036">json_value.h:36</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_af9776f187d3686a7fba4c2d2fbeebdf4"><div class="ttname"><a href="namespaceripple.html#af9776f187d3686a7fba4c2d2fbeebdf4">ripple::to_string</a></div><div class="ttdeci">std::string to_string(Manifest const &m)</div><div class="ttdoc">Format the specified manifest to a string for debugging purposes.</div><div class="ttdef"><b>Definition:</b> <a href="app_2misc_2impl_2Manifest_8cpp_source.html#l00041">app/misc/impl/Manifest.cpp:41</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1base__uint_html_a698d3fd0c0f0155995c87d2f48ac90d5"><div class="ttname"><a href="classripple_1_1base__uint.html#a698d3fd0c0f0155995c87d2f48ac90d5">ripple::base_uint::parseHex</a></div><div class="ttdeci">constexpr bool parseHex(std::string_view sv)</div><div class="ttdoc">Parse a hex string into a base_uint.</div><div class="ttdef"><b>Definition:</b> <a href="base__uint_8h_source.html#l00496">base_uint.h:496</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1LedgerMaster_html_a4f59228c74d5491f68333ef250431cdb"><div class="ttname"><a href="classripple_1_1LedgerMaster.html#a4f59228c74d5491f68333ef250431cdb">ripple::LedgerMaster::getHashBySeq</a></div><div class="ttdeci">uint256 getHashBySeq(std::uint32_t index)</div><div class="ttdoc">Get a ledger's hash by sequence number using the cache.</div><div class="ttdef"><b>Definition:</b> <a href="LedgerMaster_8cpp_source.html#l01796">LedgerMaster.cpp:1796</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ReadView_html_a8dc63ee1e4ae7b2f96823e146c53d03e"><div class="ttname"><a href="classripple_1_1ReadView.html#a8dc63ee1e4ae7b2f96823e146c53d03e">ripple::ReadView::open</a></div><div class="ttdeci">virtual bool open() const =0</div><div class="ttdoc">Returns true if this reflects an open ledger.</div></div>
|
||||
<div class="ttc" id="astructripple_1_1RPC_1_1JsonContext_html_a036b2c14552fbca49011c3d0e78017fa"><div class="ttname"><a href="structripple_1_1RPC_1_1JsonContext.html#a036b2c14552fbca49011c3d0e78017fa">ripple::RPC::JsonContext::params</a></div><div class="ttdeci">Json::Value params</div><div class="ttdef"><b>Definition:</b> <a href="Context_8h_source.html#l00064">Context.h:64</a></div></div>
|
||||
<div class="ttc" id="aclassJson_1_1Value_html"><div class="ttname"><a href="classJson_1_1Value.html">Json::Value</a></div><div class="ttdoc">Represents a JSON value.</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8h_source.html#l00145">json_value.h:145</a></div></div>
|
||||
<div class="ttc" id="aclassJson_1_1Value_html_ab0d86bf425efefd03513e8dbfaca317b"><div class="ttname"><a href="classJson_1_1Value.html#ab0d86bf425efefd03513e8dbfaca317b">Json::Value::asString</a></div><div class="ttdeci">std::string asString() const</div><div class="ttdoc">Returns the unquoted string value.</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8cpp_source.html#l00469">json_value.cpp:469</a></div></div>
|
||||
|
||||
Reference in New Issue
Block a user