2021-04-04 14:40:59 +02:00
|
|
|
# external imports
|
|
|
|
from chainlib.chain import ChainSpec
|
2021-06-03 15:51:55 +02:00
|
|
|
import chainqueue.sql.state
|
2021-04-04 14:40:59 +02:00
|
|
|
|
|
|
|
# local imports
|
|
|
|
import celery
|
|
|
|
from cic_eth.task import CriticalSQLAlchemyTask
|
|
|
|
from cic_eth.db.models.base import SessionBase
|
2021-08-28 06:27:48 +02:00
|
|
|
from cic_eth.encode import tx_normalize
|
2021-04-04 14:40:59 +02:00
|
|
|
|
|
|
|
celery_app = celery.current_app
|
|
|
|
|
|
|
|
|
|
|
|
@celery_app.task(base=CriticalSQLAlchemyTask)
|
|
|
|
def set_sent(chain_spec_dict, tx_hash, fail=False):
|
2021-08-28 06:27:48 +02:00
|
|
|
tx_hash = tx_normalize.tx_hash(tx_hash)
|
2021-04-04 14:40:59 +02:00
|
|
|
chain_spec = ChainSpec.from_dict(chain_spec_dict)
|
|
|
|
session = SessionBase.create_session()
|
2021-06-03 15:51:55 +02:00
|
|
|
r = chainqueue.sql.state.set_sent(chain_spec, tx_hash, fail, session=session)
|
2021-04-04 14:40:59 +02:00
|
|
|
session.close()
|
|
|
|
return r
|
|
|
|
|
|
|
|
|
|
|
|
@celery_app.task(base=CriticalSQLAlchemyTask)
|
2021-04-06 17:14:04 +02:00
|
|
|
def set_final(chain_spec_dict, tx_hash, block=None, tx_index=None, fail=False):
|
2021-08-28 06:27:48 +02:00
|
|
|
tx_hash = tx_normalize.tx_hash(tx_hash)
|
2021-04-04 14:40:59 +02:00
|
|
|
chain_spec = ChainSpec.from_dict(chain_spec_dict)
|
|
|
|
session = SessionBase.create_session()
|
2021-06-03 15:51:55 +02:00
|
|
|
r = chainqueue.sql.state.set_final(chain_spec, tx_hash, block=block, tx_index=tx_index, fail=fail, session=session)
|
2021-04-04 14:40:59 +02:00
|
|
|
session.close()
|
|
|
|
return r
|
|
|
|
|
|
|
|
|
|
|
|
@celery_app.task(base=CriticalSQLAlchemyTask)
|
|
|
|
def set_cancel(chain_spec_dict, tx_hash, manual=False):
|
2021-08-28 06:27:48 +02:00
|
|
|
tx_hash = tx_normalize.tx_hash(tx_hash)
|
2021-04-04 14:40:59 +02:00
|
|
|
chain_spec = ChainSpec.from_dict(chain_spec_dict)
|
|
|
|
session = SessionBase.create_session()
|
2021-06-03 15:51:55 +02:00
|
|
|
r = chainqueue.sql.state.set_cancel(chain_spec, tx_hash, manual, session=session)
|
2021-04-04 14:40:59 +02:00
|
|
|
session.close()
|
|
|
|
return r
|
|
|
|
|
|
|
|
|
|
|
|
@celery_app.task(base=CriticalSQLAlchemyTask)
|
|
|
|
def set_rejected(chain_spec_dict, tx_hash):
|
2021-08-28 06:27:48 +02:00
|
|
|
tx_hash = tx_normalize.tx_hash(tx_hash)
|
2021-04-04 14:40:59 +02:00
|
|
|
chain_spec = ChainSpec.from_dict(chain_spec_dict)
|
|
|
|
session = SessionBase.create_session()
|
2021-06-03 15:51:55 +02:00
|
|
|
r = chainqueue.sql.state.set_rejected(chain_spec, tx_hash, session=session)
|
2021-04-04 14:40:59 +02:00
|
|
|
session.close()
|
|
|
|
return r
|
|
|
|
|
|
|
|
|
|
|
|
@celery_app.task(base=CriticalSQLAlchemyTask)
|
|
|
|
def set_fubar(chain_spec_dict, tx_hash):
|
2021-08-28 06:27:48 +02:00
|
|
|
tx_hash = tx_normalize.tx_hash(tx_hash)
|
2021-04-04 14:40:59 +02:00
|
|
|
chain_spec = ChainSpec.from_dict(chain_spec_dict)
|
|
|
|
session = SessionBase.create_session()
|
2021-06-03 15:51:55 +02:00
|
|
|
r = chainqueue.sql.state.set_fubar(chain_spec, tx_hash, session=session)
|
2021-04-04 14:40:59 +02:00
|
|
|
session.close()
|
|
|
|
return r
|
|
|
|
|
|
|
|
|
|
|
|
@celery_app.task(base=CriticalSQLAlchemyTask)
|
|
|
|
def set_manual(chain_spec_dict, tx_hash):
|
2021-08-28 06:27:48 +02:00
|
|
|
tx_hash = tx_normalize.tx_hash(tx_hash)
|
2021-04-04 14:40:59 +02:00
|
|
|
chain_spec = ChainSpec.from_dict(chain_spec_dict)
|
|
|
|
session = SessionBase.create_session()
|
2021-06-03 15:51:55 +02:00
|
|
|
r = chainqueue.sql.state.set_manual(chain_spec, tx_hash, session=session)
|
2021-04-04 14:40:59 +02:00
|
|
|
session.close()
|
|
|
|
return r
|
|
|
|
|
|
|
|
|
|
|
|
@celery_app.task(base=CriticalSQLAlchemyTask)
|
|
|
|
def set_ready(chain_spec_dict, tx_hash):
|
2021-08-28 06:27:48 +02:00
|
|
|
tx_hash = tx_normalize.tx_hash(tx_hash)
|
2021-04-04 14:40:59 +02:00
|
|
|
chain_spec = ChainSpec.from_dict(chain_spec_dict)
|
|
|
|
session = SessionBase.create_session()
|
2021-06-03 15:51:55 +02:00
|
|
|
r = chainqueue.sql.state.set_ready(chain_spec, tx_hash, session=session)
|
2021-04-04 14:40:59 +02:00
|
|
|
session.close()
|
|
|
|
return r
|
|
|
|
|
|
|
|
|
|
|
|
@celery_app.task(base=CriticalSQLAlchemyTask)
|
|
|
|
def set_reserved(chain_spec_dict, tx_hash):
|
2021-08-28 06:27:48 +02:00
|
|
|
tx_hash = tx_normalize.tx_hash(tx_hash)
|
2021-04-04 14:40:59 +02:00
|
|
|
chain_spec = ChainSpec.from_dict(chain_spec_dict)
|
|
|
|
session = SessionBase.create_session()
|
2021-06-03 15:51:55 +02:00
|
|
|
r = chainqueue.sql.state.set_reserved(chain_spec, tx_hash, session=session)
|
2021-04-04 14:40:59 +02:00
|
|
|
session.close()
|
|
|
|
return r
|
|
|
|
|
|
|
|
|
|
|
|
@celery_app.task(base=CriticalSQLAlchemyTask)
|
|
|
|
def set_waitforgas(chain_spec_dict, tx_hash):
|
2021-08-28 06:27:48 +02:00
|
|
|
tx_hash = tx_normalize.tx_hash(tx_hash)
|
2021-04-04 14:40:59 +02:00
|
|
|
chain_spec = ChainSpec.from_dict(chain_spec_dict)
|
|
|
|
session = SessionBase.create_session()
|
2021-06-03 15:51:55 +02:00
|
|
|
r = chainqueue.sql.state.set_waitforgas(chain_spec, tx_hash, session=session)
|
2021-04-04 14:40:59 +02:00
|
|
|
session.close()
|
|
|
|
return r
|
|
|
|
|
|
|
|
|
|
|
|
@celery_app.task(base=CriticalSQLAlchemyTask)
|
|
|
|
def get_state_log(chain_spec_dict, tx_hash):
|
2021-08-28 06:27:48 +02:00
|
|
|
tx_hash = tx_normalize.tx_hash(tx_hash)
|
2021-04-04 14:40:59 +02:00
|
|
|
chain_spec = ChainSpec.from_dict(chain_spec_dict)
|
|
|
|
session = SessionBase.create_session()
|
2021-06-03 15:51:55 +02:00
|
|
|
r = chainqueue.sql.state.get_state_log(chain_spec, tx_hash, session=session)
|
2021-04-04 14:40:59 +02:00
|
|
|
session.close()
|
|
|
|
return r
|
2021-04-05 17:07:09 +02:00
|
|
|
|
|
|
|
|
|
|
|
@celery_app.task(base=CriticalSQLAlchemyTask)
|
|
|
|
def obsolete(chain_spec_dict, tx_hash, final):
|
2021-08-28 06:27:48 +02:00
|
|
|
tx_hash = tx_normalize.tx_hash(tx_hash)
|
2021-04-05 17:07:09 +02:00
|
|
|
chain_spec = ChainSpec.from_dict(chain_spec_dict)
|
|
|
|
session = SessionBase.create_session()
|
2021-06-03 15:51:55 +02:00
|
|
|
r = chainqueue.sql.state.obsolete_by_cache(chain_spec, tx_hash, final, session=session)
|
2021-04-05 17:07:09 +02:00
|
|
|
session.close()
|
|
|
|
return r
|