from app.core.logger import make_log from app.core.storage import db_session from app.core._secrets import service_wallet from app.core._blockchain.ton.toncenter import toncenter import asyncio async def main(): make_log("TON", f"Service started, SW = {service_wallet.address.to_string(1, 1, 1)}", level="info") sw_seqno_result = await toncenter.run_get_method(service_wallet.address.to_string(1, 1, 1), 'seqno') if sw_seqno_result.get('exit_code', -1) != 0: sw_seqno_value = 0 else: sw_seqno_value = int(sw_seqno_result.get('stack', [['num', '0x0']])[0][1].replace('0x', ''), 16) make_log("TON", f"Service wallet run seqno method: {sw_seqno_value}", level="info") if sw_seqno_value == 0: make_log("TON", "Service wallet is not deployed, deploying...", level="info") await toncenter.send_boc( service_wallet.create_init_external_message()['message'].to_boc(False) ) await asyncio.sleep(5) return await main() while True: make_log("TON", "Service running", level="debug") # with db_session() as session: # for stored_content in session.query(StoredContent).filter(StoredContent.uploaded == False).all(): # pass await asyncio.sleep(5) if __name__ == '__main__': loop = asyncio.get_event_loop() loop.run_until_complete(main()) loop.close()