Advertisement
Guest User

Untitled

a guest
Aug 9th, 2016
279
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.54 KB | None | 0 0
  1. import re
  2. from grapheneapi.grapheneapi import GrapheneAPI
  3. from pprint import pprint
  4. from math import log10
  5.  
  6. rpc_host = "localhost"
  7. rpc_port = 19988
  8. rpc_user = "xeroc"
  9. rpc_pass = "kKhVzWPkcE4KFEKi"
  10.  
  11. account = "xeroc"
  12. wallet_name = "default"
  13.  
  14. client = GrapheneAPI(rpc_host, rpc_port, rpc_user, rpc_pass)
  15.  
  16. info = client.info()
  17. if not info["wallet_open"]:
  18. client.wallet_open(wallet_name)
  19.  
  20. entries = client.wallet_account_transaction_history(account)
  21.  
  22. """
  23. print("=" * 80)
  24. print("Transfers")
  25. print("=" * 80)
  26. for entry in entries:
  27. if entry["is_market"]:
  28. continue
  29.  
  30. for ledger in entry["ledger_entries"]:
  31. asset = client.get_asset(ledger["amount"]["asset_id"])
  32. amount = int(ledger["amount"]["amount"]) / int(asset["precision"])
  33. print(
  34. '{blocknum} ; {:.{prec}f} ; {asset} ; {src} ; {dest}'.format(
  35. amount,
  36. prec=int(log10(int(asset["precision"]))),
  37. blocknum=entry["timestamp"],
  38. asset=asset["symbol"],
  39. src=ledger["from_account"],
  40. dest=ledger["to_account"],
  41. )
  42. )
  43. """
  44.  
  45. print("=" * 80)
  46. print("Market stuff")
  47. print("=" * 80)
  48. for entry in entries:
  49. if not entry["is_market"]:
  50. continue
  51. if entry["is_market_cancel"]:
  52. continue
  53. if not entry["is_virtual"]: # filled, shorts and calls
  54. continue
  55.  
  56. for ledger in entry["ledger_entries"]:
  57. asset = client.get_asset(ledger["amount"]["asset_id"])
  58. amount = int(ledger["amount"]["amount"]) / int(asset["precision"])
  59. if re.search("^sell collateral", ledger["memo"]):
  60. pass
  61. elif re.search("^cover proceeds", ledger["memo"]):
  62. pass
  63. elif re.search("^payoff debt", ledger["memo"]):
  64. pass
  65. elif re.search("^short proceeds", ledger["memo"]):
  66. pass
  67. elif re.search("^add collateral", ledger["memo"]):
  68. pass
  69. elif re.search("^bid proceeds", ledger["memo"]):
  70. pass
  71. elif re.search("^bid pay bid", ledger["memo"]):
  72. pass
  73. elif re.search("^pay bid", ledger["memo"]):
  74. pass
  75. else:
  76. print("Unhandled ledger entry:")
  77. pprint(ledger)
  78.  
  79. print(
  80. '{blocknum} ; {:.{prec}f} ; {asset} ; {memo} ; {ref}'.format(
  81. amount,
  82. prec=int(log10(int(asset["precision"]))),
  83. blocknum=entry["timestamp"],
  84. asset=asset["symbol"],
  85. memo=ledger["memo"],
  86. ref=ledger["from_account"]
  87. )
  88. )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement