Browse Source

Report offerlist in /session call if possible

This partially addresses #1326. If the maker service is running,
we return the offerlist in the /session API call, as suggested there.
master
Adam Gibson 3 years ago
parent
commit
8ee6b39d13
No known key found for this signature in database
GPG Key ID: 141001A1AF77F20B
  1. 17
      docs/api/wallet-rpc.yaml
  2. 17
      jmclient/jmclient/wallet_rpc.py

17
docs/api/wallet-rpc.yaml

@ -732,6 +732,23 @@ components:
wallet_name: wallet_name:
type: string type: string
example: wallet.jmdat example: wallet.jmdat
offer_list:
type: array
items:
type: object
properties:
oid:
type: integer
ordertype:
type: string
minsize:
type: integer
maxsize:
type: integer
txfee:
type: integer
cjfee:
type: string
ListUtxosResponse: ListUtxosResponse:
type: object type: object
properties: properties:

17
jmclient/jmclient/wallet_rpc.py

@ -591,17 +591,19 @@ class JMWalletDaemon(Service):
maker_running = self.coinjoin_state == CJ_MAKER_RUNNING maker_running = self.coinjoin_state == CJ_MAKER_RUNNING
coinjoin_in_process = self.coinjoin_state == CJ_TAKER_RUNNING coinjoin_in_process = self.coinjoin_state == CJ_TAKER_RUNNING
schedule = None schedule = None
offer_list = None
if self.services["wallet"]: if self.services["wallet"]:
if self.services["wallet"].isRunning(): if self.services["wallet"].isRunning():
wallet_name = self.wallet_name wallet_name = self.wallet_name
if self.coinjoin_state == CJ_TAKER_RUNNING and self.tumbler_options is not None: # At this point if an `auth_header` is present, it has been checked
auth_header = request.getHeader('Authorization') # by the call to `check_cookie_if_present` above.
if auth_header is not None: auth_header = request.getHeader('Authorization')
# At this point if an `auth_header` is present, it has been checked if self.coinjoin_state == CJ_TAKER_RUNNING and \
# by the call to `check_cookie_if_present` above. self.tumbler_options is not None and auth_header is not None:
if self.taker is not None and not self.taker.aborted: if self.taker is not None and not self.taker.aborted:
schedule = self.taker.schedule schedule = self.taker.schedule
elif maker_running and auth_header is not None:
offer_list = self.services["maker"].yieldgen.offerlist
else: else:
wallet_name = "not yet loaded" wallet_name = "not yet loaded"
else: else:
@ -611,7 +613,8 @@ class JMWalletDaemon(Service):
maker_running=maker_running, maker_running=maker_running,
coinjoin_in_process=coinjoin_in_process, coinjoin_in_process=coinjoin_in_process,
schedule=schedule, schedule=schedule,
wallet_name=wallet_name) wallet_name=wallet_name,
offer_list=offer_list)
@app.route('/wallet/<string:walletname>/taker/direct-send', methods=['POST']) @app.route('/wallet/<string:walletname>/taker/direct-send', methods=['POST'])
def directsend(self, request, walletname): def directsend(self, request, walletname):

Loading…
Cancel
Save