blob: 703be65f6cf97425ff0b5e692e710207e772d06b [file] [log] [blame]
<!-- HTML header for doxygen 1.9.8-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ResilientDB SDK: TransactionsEndpoint Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen_html_style.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('classresdb__driver_1_1driver_1_1TransactionsEndpoint.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="classresdb__driver_1_1driver_1_1TransactionsEndpoint-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">TransactionsEndpoint Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Exposes functionality of the <code>'/transactions/'</code> endpoint.
<a href="classresdb__driver_1_1driver_1_1TransactionsEndpoint.html#details">More...</a></p>
<div class="dynheader">
Inheritance diagram for TransactionsEndpoint:</div>
<div class="dyncontent">
<div class="center">
<img src="classresdb__driver_1_1driver_1_1TransactionsEndpoint.png" usemap="#TransactionsEndpoint_map" alt=""/>
<map id="TransactionsEndpoint_map" name="TransactionsEndpoint_map">
<area href="classresdb__driver_1_1driver_1_1NamespacedDriver.html" title="Base class for creating endpoints (namespaced objects) that can be added under the :class:~resdb_driv..." alt="NamespacedDriver" shape="rect" coords="0,0,133,24"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a1916a8f085c54d8d0062bc28850db642" id="r_a1916a8f085c54d8d0062bc28850db642"><td class="memItemLeft" align="right" valign="top">list&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classresdb__driver_1_1driver_1_1TransactionsEndpoint.html#a1916a8f085c54d8d0062bc28850db642">get</a> (self, *asset_id, operation=None, headers=None)</td></tr>
<tr class="memdesc:a1916a8f085c54d8d0062bc28850db642"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given an asset id, get its list of transactions (and optionally filter for only <code>'CREATE'</code> or <code>'TRANSFER'</code> transactions). <br /></td></tr>
<tr class="separator:a1916a8f085c54d8d0062bc28850db642"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a99346f6388758e4f467b72916931f558" id="r_a99346f6388758e4f467b72916931f558"><td class="memItemLeft" align="right" valign="top">dict&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classresdb__driver_1_1driver_1_1TransactionsEndpoint.html#a99346f6388758e4f467b72916931f558">retrieve</a> (self, str txid, dict headers=None)</td></tr>
<tr class="memdesc:a99346f6388758e4f467b72916931f558"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the transaction with the given id. <br /></td></tr>
<tr class="separator:a99346f6388758e4f467b72916931f558"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a218d476d9ec6d6a9f7074be8155283a1" id="r_a218d476d9ec6d6a9f7074be8155283a1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classresdb__driver_1_1driver_1_1TransactionsEndpoint.html#a218d476d9ec6d6a9f7074be8155283a1">send_async</a> (self, transaction, headers=None)</td></tr>
<tr class="memdesc:a218d476d9ec6d6a9f7074be8155283a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Note: Not used in resdb Submit a transaction to the Federation with the mode <code>async</code>. <br /></td></tr>
<tr class="separator:a218d476d9ec6d6a9f7074be8155283a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc38dcb781ff14d1a39bd137143f3d68" id="r_acc38dcb781ff14d1a39bd137143f3d68"><td class="memItemLeft" align="right" valign="top">dict&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classresdb__driver_1_1driver_1_1TransactionsEndpoint.html#acc38dcb781ff14d1a39bd137143f3d68">send_commit</a> (self, dict transaction, dict headers=None)</td></tr>
<tr class="memdesc:acc38dcb781ff14d1a39bd137143f3d68"><td class="mdescLeft">&#160;</td><td class="mdescRight">Submit a transaction to the Federation with the mode <code>commit</code>. <br /></td></tr>
<tr class="separator:acc38dcb781ff14d1a39bd137143f3d68"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a30910e584b7ae10a6f8d81bf552eeaf2" id="r_a30910e584b7ae10a6f8d81bf552eeaf2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classresdb__driver_1_1driver_1_1TransactionsEndpoint.html#a30910e584b7ae10a6f8d81bf552eeaf2">send_sync</a> (self, transaction, headers=None)</td></tr>
<tr class="memdesc:a30910e584b7ae10a6f8d81bf552eeaf2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Note: Not used in resdb Submit a transaction to the Federation with the mode <code>sync</code>. <br /></td></tr>
<tr class="separator:a30910e584b7ae10a6f8d81bf552eeaf2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classresdb__driver_1_1driver_1_1NamespacedDriver"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classresdb__driver_1_1driver_1_1NamespacedDriver')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classresdb__driver_1_1driver_1_1NamespacedDriver.html">NamespacedDriver</a></td></tr>
<tr class="memitem:a2546937b2c011198c7e39541aca153c9 inherit pub_methods_classresdb__driver_1_1driver_1_1NamespacedDriver" id="r_a2546937b2c011198c7e39541aca153c9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classresdb__driver_1_1driver_1_1NamespacedDriver.html#a2546937b2c011198c7e39541aca153c9">__init__</a> (self, <a class="el" href="classresdb__driver_1_1driver_1_1Resdb.html">Resdb</a> <a class="el" href="classresdb__driver_1_1driver_1_1NamespacedDriver.html#a5752b9eb2786389fa4eea908e15c39c5">driver</a>)</td></tr>
<tr class="memdesc:a2546937b2c011198c7e39541aca153c9 inherit pub_methods_classresdb__driver_1_1driver_1_1NamespacedDriver"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes an instance of :class:<code>~resdb_driver.driver.NamespacedDriver</code> with the given driver instance. <br /></td></tr>
<tr class="separator:a2546937b2c011198c7e39541aca153c9 inherit pub_methods_classresdb__driver_1_1driver_1_1NamespacedDriver"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a37eacece6bd680ede410c8f7b135ff98 inherit pub_methods_classresdb__driver_1_1driver_1_1NamespacedDriver" id="r_a37eacece6bd680ede410c8f7b135ff98"><td class="memItemLeft" align="right" valign="top">str&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classresdb__driver_1_1driver_1_1NamespacedDriver.html#a37eacece6bd680ede410c8f7b135ff98">api_prefix</a> (self)</td></tr>
<tr class="separator:a37eacece6bd680ede410c8f7b135ff98 inherit pub_methods_classresdb__driver_1_1driver_1_1NamespacedDriver"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab73e6efc52ce7a21b22cbf9f3465df91 inherit pub_methods_classresdb__driver_1_1driver_1_1NamespacedDriver" id="r_ab73e6efc52ce7a21b22cbf9f3465df91"><td class="memItemLeft" align="right" valign="top">str&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classresdb__driver_1_1driver_1_1NamespacedDriver.html#ab73e6efc52ce7a21b22cbf9f3465df91">path</a> (self)</td></tr>
<tr class="separator:ab73e6efc52ce7a21b22cbf9f3465df91 inherit pub_methods_classresdb__driver_1_1driver_1_1NamespacedDriver"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae71d9b898c84d98291d44b27505b00c1 inherit pub_methods_classresdb__driver_1_1driver_1_1NamespacedDriver" id="r_ae71d9b898c84d98291d44b27505b00c1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classresdb__driver_1_1transport_1_1Transport.html">Transport</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classresdb__driver_1_1driver_1_1NamespacedDriver.html#ae71d9b898c84d98291d44b27505b00c1">transport</a> (self)</td></tr>
<tr class="separator:ae71d9b898c84d98291d44b27505b00c1 inherit pub_methods_classresdb__driver_1_1driver_1_1NamespacedDriver"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-methods" name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a7537d66adc53d5a3f486e1239bc0f8a3" id="r_a7537d66adc53d5a3f486e1239bc0f8a3"><td class="memItemLeft" align="right" valign="top">dict[str, Any]&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classresdb__driver_1_1driver_1_1TransactionsEndpoint.html#a7537d66adc53d5a3f486e1239bc0f8a3">fulfill</a> (dict transaction, Union[str, list, tuple] private_keys)</td></tr>
<tr class="memdesc:a7537d66adc53d5a3f486e1239bc0f8a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fulfills the given transaction. <br /></td></tr>
<tr class="separator:a7537d66adc53d5a3f486e1239bc0f8a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf0fc10a1bf0f21ec2083795c111ffb1" id="r_abf0fc10a1bf0f21ec2083795c111ffb1"><td class="memItemLeft" align="right" valign="top">dict&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classresdb__driver_1_1driver_1_1TransactionsEndpoint.html#abf0fc10a1bf0f21ec2083795c111ffb1">prepare</a> (*operation=&quot;CREATE&quot;, signers=None, recipients=None, asset=None, metadata=None, inputs=None)</td></tr>
<tr class="memdesc:abf0fc10a1bf0f21ec2083795c111ffb1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prepares a transaction payload, ready to be fulfilled. <br /></td></tr>
<tr class="separator:abf0fc10a1bf0f21ec2083795c111ffb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-attribs" name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr class="memitem:a62345317491758a93722c16ba442b023" id="r_a62345317491758a93722c16ba442b023"><td class="memItemLeft" align="right" valign="top">str&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classresdb__driver_1_1driver_1_1TransactionsEndpoint.html#a62345317491758a93722c16ba442b023">PATH</a> = &quot;/transactions/&quot;</td></tr>
<tr class="separator:a62345317491758a93722c16ba442b023"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_static_attribs_classresdb__driver_1_1driver_1_1NamespacedDriver"><td colspan="2" onclick="javascript:toggleInherit('pub_static_attribs_classresdb__driver_1_1driver_1_1NamespacedDriver')"><img src="closed.png" alt="-"/>&#160;Static Public Attributes inherited from <a class="el" href="classresdb__driver_1_1driver_1_1NamespacedDriver.html">NamespacedDriver</a></td></tr>
<tr class="memitem:a62345317491758a93722c16ba442b023 inherit pub_static_attribs_classresdb__driver_1_1driver_1_1NamespacedDriver" id="r_a62345317491758a93722c16ba442b023"><td class="memItemLeft" align="right" valign="top">str&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classresdb__driver_1_1driver_1_1NamespacedDriver.html#a62345317491758a93722c16ba442b023">PATH</a> = &quot;/&quot;</td></tr>
<tr class="separator:a62345317491758a93722c16ba442b023 inherit pub_static_attribs_classresdb__driver_1_1driver_1_1NamespacedDriver"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="inherited" name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_attribs_classresdb__driver_1_1driver_1_1NamespacedDriver"><td colspan="2" onclick="javascript:toggleInherit('pub_attribs_classresdb__driver_1_1driver_1_1NamespacedDriver')"><img src="closed.png" alt="-"/>&#160;Public Attributes inherited from <a class="el" href="classresdb__driver_1_1driver_1_1NamespacedDriver.html">NamespacedDriver</a></td></tr>
<tr class="memitem:a5752b9eb2786389fa4eea908e15c39c5 inherit pub_attribs_classresdb__driver_1_1driver_1_1NamespacedDriver" id="r_a5752b9eb2786389fa4eea908e15c39c5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classresdb__driver_1_1driver_1_1NamespacedDriver.html#a5752b9eb2786389fa4eea908e15c39c5">driver</a></td></tr>
<tr class="separator:a5752b9eb2786389fa4eea908e15c39c5 inherit pub_attribs_classresdb__driver_1_1driver_1_1NamespacedDriver"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Exposes functionality of the <code>'/transactions/'</code> endpoint. </p>
<p>Attributes: path (str): The path of the endpoint. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a7537d66adc53d5a3f486e1239bc0f8a3" name="a7537d66adc53d5a3f486e1239bc0f8a3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7537d66adc53d5a3f486e1239bc0f8a3">&#9670;&#160;</a></span>fulfill()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"> dict[str, Any] fulfill </td>
<td>(</td>
<td class="paramtype">dict&#160;</td>
<td class="paramname"><em>transaction</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Union[str, list, tuple]
&#160;</td>
<td class="paramname"><em>private_keys</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Fulfills the given transaction. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">transaction</td><td>(dict): The transaction to be fulfilled. </td></tr>
<tr><td class="paramname">private_keys</td><td>(:obj:<code>str</code> | :obj:<code>list</code> | :obj:<code>tuple</code>): One or more private keys to be used for fulfilling the transaction.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The fulfilled transaction payload, ready to be sent to a Resdb federation.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">:exc:`~.exceptions.MissingPrivateKeyError`</td><td>If a private key is missing. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a1916a8f085c54d8d0062bc28850db642" name="a1916a8f085c54d8d0062bc28850db642"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1916a8f085c54d8d0062bc28850db642">&#9670;&#160;</a></span>get()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"> list get </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>self</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">*&#160;</td>
<td class="paramname"><em>asset_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>operation</em> = <code>None</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>headers</em> = <code>None</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Given an asset id, get its list of transactions (and optionally filter for only <code>'CREATE'</code> or <code>'TRANSFER'</code> transactions). </p>
<p>Note: Please note that the id of an asset in Resdb is actually the id of the transaction which created the asset. In other words, when querying for an asset id with the operation set to <code>'CREATE'</code>, only one transaction should be expected. This transaction will be the transaction in which the asset was created, and the transaction id will be equal to the given asset id. Hence, the following calls to :meth:<code>.retrieve</code> and :meth:<code>.get</code> should return the same transaction.</p>
<blockquote class="doxtable">
<blockquote class="doxtable">
<blockquote class="doxtable">
<p>&zwj;resdb = Resdb() resdb.transactions.retrieve('foo') resdb.transactions.get(asset_id='foo', operation='CREATE') </p>
</blockquote>
</blockquote>
</blockquote>
<p>Since :meth:<code>.get</code> returns a list of transactions, it may be more efficient to use :meth:<code>.retrieve</code> instead, if one is only interested in the <code>'CREATE'</code> operation.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">asset_id</td><td>(str): Id of the asset. </td></tr>
<tr><td class="paramname">operation</td><td>(str): The type of operation the transaction should be. Either <code>'CREATE'</code> or <code>'TRANSFER'</code>. Defaults to <code>None</code>. </td></tr>
<tr><td class="paramname">headers</td><td>(dict): Optional headers to pass to the request.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>List of transactions </dd></dl>
</div>
</div>
<a id="abf0fc10a1bf0f21ec2083795c111ffb1" name="abf0fc10a1bf0f21ec2083795c111ffb1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abf0fc10a1bf0f21ec2083795c111ffb1">&#9670;&#160;</a></span>prepare()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"> dict prepare </td>
<td>(</td>
<td class="paramtype">*&#160;</td>
<td class="paramname"><em>operation</em> = <code>&quot;CREATE&quot;</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>signers</em> = <code>None</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>recipients</em> = <code>None</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>asset</em> = <code>None</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>metadata</em> = <code>None</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>inputs</em> = <code>None</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Prepares a transaction payload, ready to be fulfilled. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">operation</td><td>(str): The operation to perform. Must be <code>'CREATE'</code> or <code>'TRANSFER'</code>. Case insensitive. Defaults to <code>'CREATE'</code>. </td></tr>
<tr><td class="paramname">signers</td><td>(:obj:<code>list</code> | :obj:<code>tuple</code> | :obj:<code>str</code>, optional): One or more public keys representing the issuer(s) of the asset being created. Only applies for <code>'CREATE'</code> operations. Defaults to <code>None</code>. </td></tr>
<tr><td class="paramname">recipients</td><td>(:obj:<code>list</code> | :obj:<code>tuple</code> | :obj:<code>str</code>, optional): One or more public keys representing the new recipients(s) of the asset being created or transferred. Defaults to <code>None</code>. </td></tr>
<tr><td class="paramname">asset</td><td>(:obj:<code>list</code> | :obj:<code>tuple</code> | :obj:<code>str</code>, optional): The asset to be created or transferred. MUST be supplied for <code>'TRANSFER'</code> operations. Defaults to <code>None</code>. </td></tr>
<tr><td class="paramname">metadata</td><td>(:obj:<code>list</code> | :obj:<code>tuple</code> | :obj:<code>str</code>, optional): Metadata associated with the transaction. Defaults to <code>None</code>. </td></tr>
<tr><td class="paramname">inputs</td><td>(:obj:<code>dict</code> | :obj:<code>list</code> | :obj:<code>tuple</code>, optional): One or more inputs holding the condition(s) that this transaction intends to fulfill. Each input is expected to be a :obj:<code>dict</code>. Only applies to, and MUST be supplied for, <code>'TRANSFER'</code> operations.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The prepared transaction (dict)</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">:class:`~.exceptions.ResdbException`</td><td>If ``operation`` is not <code>'CREATE'</code> or <code>'TRANSFER'</code>.</td></tr>
</table>
</dd>
</dl>
<p>.. important:: </p><pre class="fragment">**CREATE operations**
* ``signers`` MUST be set.
* ``recipients``, ``asset``, and ``metadata`` MAY be set.
* If ``asset`` is set, it MUST be in the form of::
</pre><p> { 'data': { ... } } </p><pre class="fragment">* The argument ``inputs`` is ignored.
* If ``recipients`` is not given, or evaluates to
``False``, it will be set equal to ``signers``::
</pre><p> if not recipients: recipients = signers</p>
<p><b>TRANSFER operations</b></p>
<ul>
<li><code>recipients</code>, <code>asset</code>, and <code>inputs</code> MUST be set.</li>
<li><code>asset</code> MUST be in the form of::</li>
</ul>
<p>{ 'id': '&lt;Asset ID (i.e. TX ID of its CREATE transaction)&gt;' } </p><pre class="fragment">* ``metadata`` MAY be set.
* The argument ``signers`` is ignored.
</pre>
</div>
</div>
<a id="a99346f6388758e4f467b72916931f558" name="a99346f6388758e4f467b72916931f558"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a99346f6388758e4f467b72916931f558">&#9670;&#160;</a></span>retrieve()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"> dict retrieve </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>self</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">str&#160;</td>
<td class="paramname"><em>txid</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">dict &#160;</td>
<td class="paramname"><em>headers</em> = <code>None</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Retrieves the transaction with the given id. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">txid</td><td>(str): Id of the transaction to retrieve. </td></tr>
<tr><td class="paramname">headers</td><td>(dict): Optional headers to pass to the request.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The transaction with the given id. </dd></dl>
</div>
</div>
<a id="a218d476d9ec6d6a9f7074be8155283a1" name="a218d476d9ec6d6a9f7074be8155283a1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a218d476d9ec6d6a9f7074be8155283a1">&#9670;&#160;</a></span>send_async()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">send_async </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>self</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>transaction</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>headers</em> = <code>None</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Note: Not used in resdb Submit a transaction to the Federation with the mode <code>async</code>. </p>
<pre class="fragment">@param transaction (dict): The transaction to be sent
</pre><p> to the Federation node(s). </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">headers</td><td>(dict): Optional headers to pass to the request.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The transaction sent to the Federation node(s). </dd></dl>
</div>
</div>
<a id="acc38dcb781ff14d1a39bd137143f3d68" name="acc38dcb781ff14d1a39bd137143f3d68"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acc38dcb781ff14d1a39bd137143f3d68">&#9670;&#160;</a></span>send_commit()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"> dict send_commit </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>self</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">dict&#160;</td>
<td class="paramname"><em>transaction</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">dict &#160;</td>
<td class="paramname"><em>headers</em> = <code>None</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Submit a transaction to the Federation with the mode <code>commit</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">transaction</td><td>(dict): The transaction to be sent to the Federation node(s). </td></tr>
<tr><td class="paramname">headers</td><td>(dict): Optional headers to pass to the request.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The transaction sent to the Federation node(s). </dd></dl>
</div>
</div>
<a id="a30910e584b7ae10a6f8d81bf552eeaf2" name="a30910e584b7ae10a6f8d81bf552eeaf2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a30910e584b7ae10a6f8d81bf552eeaf2">&#9670;&#160;</a></span>send_sync()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">send_sync </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>self</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>transaction</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>headers</em> = <code>None</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Note: Not used in resdb Submit a transaction to the Federation with the mode <code>sync</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">transaction</td><td>(dict): The transaction to be sent to the Federation node(s). </td></tr>
<tr><td class="paramname">headers</td><td>(dict): Optional headers to pass to the request.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The transaction sent to the Federation node(s). </dd></dl>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a62345317491758a93722c16ba442b023" name="a62345317491758a93722c16ba442b023"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a62345317491758a93722c16ba442b023">&#9670;&#160;</a></span>PATH</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">str PATH = &quot;/transactions/&quot;</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>/github/workspace/resdb_driver/<a class="el" href="driver_8py.html">driver.py</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespaceresdb__driver.html">resdb_driver</a></li><li class="navelem"><a class="el" href="namespaceresdb__driver_1_1driver.html">driver</a></li><li class="navelem"><a class="el" href="classresdb__driver_1_1driver_1_1TransactionsEndpoint.html">TransactionsEndpoint</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>