# Path: database.py
# def txn_required(func):
#     @functools.wraps(func)
#     def _func(*args, **kwargs):
#         txn = current_txn()
#         if txn:
#             return func(*args, **kwargs)
#         else:
#             return run_in_transaction(func, txn_name=func.__name__, *args, **kwargs)
#     return _func


import eventlet
import genesisblock
import msgs
import jserialize as js
import bserialize as bs
import logging
import database
import struct
import ec
import settings
from utils import *
from database import txn_required
#import bsddb
#import blockchain

class TxError(Exception):
    pass
class TxInputAlreadySpend(TxError):

# Path: database.py
# def txn_required(func):
#     @functools.wraps(func)
#     def _func(*args, **kwargs):
#         txn = current_txn()
#         if txn:
#             return func(*args, **kwargs)
#         else:
#             return run_in_transaction(func, txn_name=func.__name__, *args, **kwargs)
#     return _func


# Path: transactions.py
import eventlet
import genesisblock
import msgs
import jserialize as js
import bserialize as bs
import logging
import database
import struct
import ec
import settings
from utils import *
from database import txn_required

#import bsddb
#import blockchain

class TxError(Exception):
    pass
class TxInputAlreadySpend(TxError):

    pass