dev@locazia: add "confirm tx" message
This commit is contained in:
parent
b80e070b4d
commit
836adaf7b2
|
|
@ -6,7 +6,7 @@ from sanic import response
|
||||||
from tonsdk.boc import begin_cell, begin_dict
|
from tonsdk.boc import begin_cell, begin_dict
|
||||||
from tonsdk.utils import Address
|
from tonsdk.utils import Address
|
||||||
|
|
||||||
from app.core._blockchain.ton.connect import TonConnect
|
from app.core._blockchain.ton.connect import TonConnect, TON_CONNECT_WALLETS_LIST
|
||||||
from app.core._blockchain.ton.platform import platform
|
from app.core._blockchain.ton.platform import platform
|
||||||
from app.core._config import PROJECT_HOST
|
from app.core._config import PROJECT_HOST
|
||||||
from app.core.logger import make_log
|
from app.core.logger import make_log
|
||||||
|
|
@ -14,6 +14,8 @@ from app.core._utils.resolve_content import resolve_content
|
||||||
from app.core.content.utils import create_metadata_for_item
|
from app.core.content.utils import create_metadata_for_item
|
||||||
from app.core._crypto.content import create_encrypted_content
|
from app.core._crypto.content import create_encrypted_content
|
||||||
from app.core.models.node_storage import StoredContent
|
from app.core.models.node_storage import StoredContent
|
||||||
|
from app.core.models._telegram import Wrapped_CBotChat
|
||||||
|
from app.core._keyboards import get_inline_keyboard
|
||||||
|
|
||||||
|
|
||||||
def valid_royalty_params(royalty_params):
|
def valid_royalty_params(royalty_params):
|
||||||
|
|
@ -137,6 +139,20 @@ async def s_api_v1_blockchain_send_new_content_message(request):
|
||||||
]
|
]
|
||||||
}))
|
}))
|
||||||
|
|
||||||
|
await (Wrapped_CBotChat(request.app.memory._telegram_bot, chat_id=request.ctx.user.telegram_id)).send_message(
|
||||||
|
request.ctx.user.translated('p_tonconnectTransactionRequested'),
|
||||||
|
reply_markup=get_inline_keyboard([
|
||||||
|
[{
|
||||||
|
'text': request.ctx.user.translated('gotoWallet_button'),
|
||||||
|
'url': next(x['universal_url'] for x in TON_CONNECT_WALLETS_LIST if x['app_name'] == ton_connection.wallet_key['app_name'])
|
||||||
|
}],
|
||||||
|
[{
|
||||||
|
'text': request.ctx.user.translated('home_button'),
|
||||||
|
'callback_data': 'home'
|
||||||
|
}]
|
||||||
|
])
|
||||||
|
)
|
||||||
|
|
||||||
return response.json({"message": "Transaction requested"})
|
return response.json({"message": "Transaction requested"})
|
||||||
except BaseException as e:
|
except BaseException as e:
|
||||||
make_log("Blockchain", f"Error while sending new content message: {e}" + '\n' + traceback.format_exc(), level='error')
|
make_log("Blockchain", f"Error while sending new content message: {e}" + '\n' + traceback.format_exc(), level='error')
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,40 @@ from app.core.models.wallet_connection import WalletConnection
|
||||||
|
|
||||||
TON_CONNECT_MANIFEST_URI = os.getenv("TON_CONNECT_MANIFEST_URI")
|
TON_CONNECT_MANIFEST_URI = os.getenv("TON_CONNECT_MANIFEST_URI")
|
||||||
|
|
||||||
|
TON_CONNECT_WALLETS_LIST = [
|
||||||
|
{
|
||||||
|
'about_url': 'https://wallet.tg/',
|
||||||
|
'app_name': 'telegram-wallet',
|
||||||
|
'bridge_url': 'https://bridge.tonapi.io/bridge',
|
||||||
|
'image': 'https://wallet.tg/images/logo-288.png',
|
||||||
|
'name': 'Wallet',
|
||||||
|
'universal_url': 'https://t.me/wallet?attach=wallet&startattach=tonconnect'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'about_url': 'https://tonkeeper.com',
|
||||||
|
'app_name': 'tonkeeper',
|
||||||
|
'bridge_url': 'https://bridge.tonapi.io/bridge',
|
||||||
|
'image': 'https://tonkeeper.com/assets/tonconnect-icon.png',
|
||||||
|
'name': 'Tonkeeper',
|
||||||
|
'universal_url': 'https://app.tonkeeper.com/ton-connect'},
|
||||||
|
{
|
||||||
|
'about_url': 'https://mytonwallet.io',
|
||||||
|
'app_name': 'mytonwallet',
|
||||||
|
'bridge_url': 'https://tonconnectbridge.mytonwallet.org/bridge/',
|
||||||
|
'image': 'https://mytonwallet.io/icon-256.png',
|
||||||
|
'name': 'MyTonWallet',
|
||||||
|
'universal_url': 'https://connect.mytonwallet.org'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'about_url': 'https://tonhub.com',
|
||||||
|
'app_name': 'tonhub',
|
||||||
|
'bridge_url': 'https://connect.tonhubapi.com/tonconnect',
|
||||||
|
'image': 'https://tonhub.com/tonconnect_logo.png',
|
||||||
|
'name': 'Tonhub',
|
||||||
|
'universal_url': 'https://tonhub.com/ton-connect'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
def unpack_wallet_info(wallet_info) -> dict:
|
def unpack_wallet_info(wallet_info) -> dict:
|
||||||
return {
|
return {
|
||||||
|
|
@ -65,6 +99,9 @@ class TonConnect:
|
||||||
if wallet["app_name"] == app_name:
|
if wallet["app_name"] == app_name:
|
||||||
return await self._sdk_client.connect(wallet)
|
return await self._sdk_client.connect(wallet)
|
||||||
|
|
||||||
|
async def raw_new_connection(self, app_startup: dict):
|
||||||
|
return await self._sdk_client.connect(app_startup)
|
||||||
|
|
||||||
async def restore_connection(self):
|
async def restore_connection(self):
|
||||||
return await self._sdk_client.restore_connection()
|
return await self._sdk_client.restore_connection()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -111,7 +111,8 @@ async def indexer_loop(platform_found: bool, seqno: int) -> [bool, int]:
|
||||||
).first()
|
).first()
|
||||||
|
|
||||||
encrypted_stored_content = session.query(StoredContent).filter(
|
encrypted_stored_content = session.query(StoredContent).filter(
|
||||||
StoredContent.hash == item_content_hash_str
|
StoredContent.hash == item_content_hash_str,
|
||||||
|
StoredContent.type.like("local%")
|
||||||
).first()
|
).first()
|
||||||
if encrypted_stored_content:
|
if encrypted_stored_content:
|
||||||
encrypted_stored_content_meta = encrypted_stored_content.meta
|
encrypted_stored_content_meta = encrypted_stored_content.meta
|
||||||
|
|
|
||||||
|
|
@ -49,6 +49,13 @@ class StoredContent(AlchemyBase):
|
||||||
accept_type=self.meta.get('content_type', 'image/jpeg')
|
accept_type=self.meta.get('content_type', 'image/jpeg')
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def decrypt_possible(self) -> bool:
|
||||||
|
if self.encrypted is False:
|
||||||
|
return True
|
||||||
|
|
||||||
|
return bool(self.key_id or self.decrypted_content_id)
|
||||||
|
|
||||||
def json_format(self):
|
def json_format(self):
|
||||||
extra_fields = {}
|
extra_fields = {}
|
||||||
if self.btfs_cid:
|
if self.btfs_cid:
|
||||||
|
|
|
||||||
Binary file not shown.
|
|
@ -6,62 +6,85 @@
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: 1\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2024-02-29 01:26+0300\n"
|
"POT-Creation-Date: 2024-03-08 22:45+0300\n"
|
||||||
"PO-Revision-Date: 2024-02-29 01:00+0\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: oscux\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language: en\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"Language: \n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
#: app/bot/routers/home.py:16
|
#: app/bot/routers/home.py:16 app/bot/routers/home.py:15
|
||||||
|
#: app/client_bot/routers/home.py:15
|
||||||
msgid "home_menu"
|
msgid "home_menu"
|
||||||
msgstr "Hi, <b>{name}</b>!"
|
msgstr ""
|
||||||
"\n\n"
|
"Hi, <b>{name}</b>!\n"
|
||||||
"Here you can upload your content to the blockchain and manage it."
|
"\n"
|
||||||
"\n\n"
|
"Here you can upload your content to the blockchain and manage it.\n"
|
||||||
"You logged in with wallet: <code>{wallet_address}</code>"
|
"\n"
|
||||||
|
"You logged as <code>{wallet_address}</code>"
|
||||||
|
|
||||||
#: app/bot/routers/home.py:20
|
#: app/bot/routers/home.py:20 app/client_bot/routers/home.py:20
|
||||||
msgid "ownedContent_button"
|
msgid "ownedContent_button"
|
||||||
msgstr "📊 My content"
|
msgstr "📊 My content"
|
||||||
|
|
||||||
#: app/bot/routers/home.py:24
|
#: app/bot/routers/home.py:24 app/client_bot/routers/home.py:24
|
||||||
msgid "disconnectWallet_button"
|
msgid "disconnectWallet_button"
|
||||||
msgstr "🔌 Disconnect wallet"
|
msgstr "🔌 Disconnect wallet"
|
||||||
|
|
||||||
#: app/bot/routers/home.py:35
|
#: app/bot/routers/home.py:35 app/client_bot/routers/home.py:35
|
||||||
msgid "connectWalletsList_menu"
|
msgid "connectWalletsList_menu"
|
||||||
msgstr "<b>–> To work, you need to connect your wallet</b>"
|
msgstr ""
|
||||||
"\n\n"
|
"/ Welcome to MY [🔴]\n"
|
||||||
"Please select the wallet you want to connect:"
|
"\n"
|
||||||
|
"Please select the wallet you want to connect to the bot:"
|
||||||
|
|
||||||
#: app/bot/routers/index.py:23
|
#: app/bot/routers/index.py:23 app/bot/routers/index.py:22
|
||||||
|
#: app/client_bot/routers/index.py:18
|
||||||
msgid "error_unknownCommand"
|
msgid "error_unknownCommand"
|
||||||
msgstr "Unknown command, please try again or press /start"
|
msgstr "Unknown command, please try again or press /start"
|
||||||
|
|
||||||
#: app/bot/routers/content.py:16
|
#: app/bot/routers/content.py:16 app/bot/routers/content.py:12
|
||||||
msgid "ownedContent_menu"
|
msgid "ownedContent_menu"
|
||||||
msgstr "📊 <b>My content</b>"
|
msgstr ""
|
||||||
"\n\n"
|
"📊 <b>My content</b>\n"
|
||||||
|
"\n"
|
||||||
"Here you can see the list of your content."
|
"Here you can see the list of your content."
|
||||||
|
|
||||||
#: app/bot/routers/content.py:21
|
#: app/bot/routers/content.py:21 app/bot/routers/content.py:17
|
||||||
msgid "webApp_uploadContent_button"
|
msgid "webApp_uploadContent_button"
|
||||||
msgstr "📤 Upload content"
|
msgstr "📤 Upload content"
|
||||||
|
|
||||||
#: app/bot/routers/content.py:27
|
#: app/bot/routers/content.py:27 app/bot/routers/content.py:23
|
||||||
msgid "back_button"
|
msgid "back_button"
|
||||||
msgstr "◀️ Back"
|
msgstr "◀️ Back"
|
||||||
|
|
||||||
#: app/bot/routers/tonconnect.py:80
|
#: app/bot/routers/tonconnect.py:80
|
||||||
msgid "tonconnectInit_menu"
|
msgid "tonconnectInit_menu"
|
||||||
msgstr "🔌 <b>Connect wallet</b>"
|
msgstr ""
|
||||||
"\n\n"
|
"🔌 <b>Connect wallet</b>\n"
|
||||||
"Press the button below to connect your wallet."
|
"\n"
|
||||||
|
"Press the button below to connect your wallet"
|
||||||
|
|
||||||
#: app/bot/routers/tonconnect.py:101
|
#: app/bot/routers/tonconnect.py:101 app/bot/routers/tonconnect.py:105
|
||||||
msgid "p_successConnectWallet"
|
msgid "p_successConnectWallet"
|
||||||
msgstr "✅ Wallet connected successfully"
|
msgstr "✅ Wallet connected successfully"
|
||||||
|
|
||||||
|
#: app/api/routes/_blockchain.py:143
|
||||||
|
msgid "p_tonconnectTransactionRequested"
|
||||||
|
msgstr "⏳ <b>Transaction requested</b>\n\n👉 Please confirm the transaction in your wallet"
|
||||||
|
|
||||||
|
#: app/api/routes/_blockchain.py:146
|
||||||
|
msgid "gotoWallet_button"
|
||||||
|
msgstr "Open wallet"
|
||||||
|
|
||||||
|
#: app/api/routes/_blockchain.py:150 app/bot/routers/tonconnect.py:90
|
||||||
|
msgid "home_button"
|
||||||
|
msgstr "◀️ Back"
|
||||||
|
|
||||||
|
#: app/bot/routers/tonconnect.py:86
|
||||||
|
msgid "tonconnectOpenWallet_button"
|
||||||
|
msgstr "[Connect wallet]"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue