mirror of
https://github.com/XRPLF/clio.git
synced 2025-11-26 14:45:52 +00:00
actually handle book_offers
This commit is contained in:
30
test.py
30
test.py
@@ -87,15 +87,40 @@ async def ledger_data_full(ip, port, ledger):
|
||||
print(e)
|
||||
|
||||
|
||||
async def book_offers(ip, port, ledger, pay_currency, pay_issuer, get_currency, get_issuer):
|
||||
|
||||
address = 'ws://' + str(ip) + ':' + str(port)
|
||||
try:
|
||||
|
||||
async with websockets.connect(address) as ws:
|
||||
taker_gets = json.loads("{\"currency\":" + get_currency+"}")
|
||||
if get_issuer is not None:
|
||||
taker_gets["issuer"] = get_issuer
|
||||
taker_pays = json.loads("{\"currency\":" + pay_currency + "}")
|
||||
if pay_issuer is not None:
|
||||
taker_pays["issuer"] = pay_issuer
|
||||
|
||||
await ws.send(json.dumps({"command":"book_offers","ledger_index":int(ledger), "taker_pays":taker_pays, "taker_gets":taker_gets}))
|
||||
res = json.loads(await ws.recv())
|
||||
print(res)
|
||||
|
||||
except websockets.exceptions.connectionclosederror as e:
|
||||
print(e)
|
||||
|
||||
|
||||
parser = argparse.ArgumentParser(description='test script for xrpl-reporting')
|
||||
parser.add_argument('action', choices=["account_info", "tx", "account_tx", "ledger_data", "ledger_data_full"])
|
||||
parser.add_argument('action', choices=["account_info", "tx", "account_tx", "ledger_data", "ledger_data_full", "book_offers"])
|
||||
parser.add_argument('--ip', default='127.0.0.1')
|
||||
parser.add_argument('--port', default='8080')
|
||||
parser.add_argument('--hash')
|
||||
parser.add_argument('--account', default="rLC64xxNif3GiY9FQnbaM4kcE6VvDhwRod")
|
||||
parser.add_argument('--ledger')
|
||||
parser.add_argument('--limit', default='200')
|
||||
paresr.add_argument('--taker_pays_issuer')
|
||||
parser.add_argument('--taker_pays_currency')
|
||||
paresr.add_argument('--taker_gets_issuer')
|
||||
parser.add_argument('--taker_gets_currency')
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -118,6 +143,9 @@ def run(args):
|
||||
elif args.action == "ledger_data_full":
|
||||
asyncio.get_event_loop().run_until_complete(
|
||||
ledger_data_full(args.ip, args.port, args.ledger))
|
||||
elif args.action == "book_offers":
|
||||
asyncio.get_event_loop().run_until_complete(
|
||||
book_offers(args.ip, args.port, args.ledger, args.taker_pays_currency, args.taker_pays_issuer, args.taker_gets_currency, args.taker_gets_issuer);
|
||||
else:
|
||||
print("incorrect arguments")
|
||||
|
||||
|
||||
@@ -35,13 +35,21 @@
|
||||
#include <vector>
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
enum RPCCommand { tx, account_tx, ledger, account_info, ledger_data };
|
||||
enum RPCCommand {
|
||||
tx,
|
||||
account_tx,
|
||||
ledger,
|
||||
account_info,
|
||||
ledger_data,
|
||||
book_offers
|
||||
};
|
||||
std::unordered_map<std::string, RPCCommand> commandMap{
|
||||
{"tx", tx},
|
||||
{"account_tx", account_tx},
|
||||
{"ledger", ledger},
|
||||
{"account_info", account_info},
|
||||
{"ledger_data", ledger_data}};
|
||||
{"ledger_data", ledger_data},
|
||||
{"book_offers", book_offers}};
|
||||
|
||||
boost::json::object
|
||||
doAccountInfo(
|
||||
@@ -62,6 +70,11 @@ boost::json::object
|
||||
doLedgerData(
|
||||
boost::json::object const& request,
|
||||
CassandraFlatMapBackend const& backend);
|
||||
boost::json::object
|
||||
doBookOffers(
|
||||
boost::json::object const& request,
|
||||
CassandraFlatMapBackend const& backend,
|
||||
std::shared_ptr<PgPool>& pgPool);
|
||||
|
||||
boost::json::object
|
||||
buildResponse(
|
||||
@@ -88,6 +101,9 @@ buildResponse(
|
||||
case account_info:
|
||||
return doAccountInfo(request, backend, pgPool);
|
||||
break;
|
||||
case book_offers:
|
||||
return doBookOffers(request, backend, pgPool);
|
||||
break;
|
||||
default:
|
||||
BOOST_LOG_TRIVIAL(error) << "Unknown command: " << command;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user