69 lines
1.6 KiB
Python
69 lines
1.6 KiB
Python
import plyvel
|
|
from xcat.utils import *
|
|
import binascii
|
|
import sys
|
|
import json
|
|
import ast
|
|
from xcat.trades import *
|
|
|
|
import xcat.bitcoinRPC as bitcoinRPC
|
|
|
|
db = plyvel.DB('/tmp/testdb', create_if_missing=True)
|
|
|
|
# Takes dict or obj, saves json str as bytes
|
|
def create(trade, tradeid):
|
|
if type(trade) == dict:
|
|
trade = json.dumps(trade)
|
|
else:
|
|
trade = trade.toJSON()
|
|
db.put(b(tradeid), b(trade))
|
|
|
|
# Uses the funding txid as the key to save trade
|
|
def createByFundtx(trade):
|
|
trade = trade.toJSON()
|
|
# # Save trade by initiating txid
|
|
jt = json.loads(trade)
|
|
txid = jt['sell']['fund_tx']
|
|
db.put(b(txid), b(trade))
|
|
|
|
def get(txid):
|
|
rawtrade = db.get(b(txid))
|
|
tradestr = str(rawtrade, 'utf-8')
|
|
trade = instantiate(tradestr)
|
|
return trade
|
|
|
|
def instantiate(trade):
|
|
if type(trade) == str:
|
|
tradestr = json.loads(trade)
|
|
trade = Trade(buy=Contract(tradestr['buy']), sell=Contract(tradestr['sell']), commitment=tradestr['commitment'])
|
|
return trade
|
|
|
|
|
|
|
|
# db.delete(b'hello')
|
|
# testtrade = get('test')
|
|
# testtrade = instantiate(testtrade)
|
|
# print(testtrade)
|
|
|
|
# addr = bitcoinRPC.new_bitcoin_addr()
|
|
# print(str(addr))
|
|
# print(b('thing'))
|
|
|
|
# hexstr = get(txid)
|
|
# print(x2s(hexstr))
|
|
|
|
def print_entries():
|
|
it = db.iterator()
|
|
with db.iterator() as it:
|
|
for k, v in it:
|
|
j = json.loads(x2s(b2x(v)))
|
|
print("Key:", k)
|
|
print('val: ', j)
|
|
# print('sell: ', j['sell'])
|
|
|
|
# print_entries()
|
|
# txid = '1171aeda64eff388b3568fa4675d0ca78852911109bbe42e0ef11ad6bf1b159e'
|
|
# entry = db.get(b(txid))
|
|
# print(entry)
|
|
# print(it.next())
|