Streamlit component that allows you to connect to Pera Wallet.
Project description
pera_wallet
A Streamlit component to connect to Pera Wallet.
Installation instructions
pip install pera-wallet
Usage instructions
import streamlit as st
from pera_wallet import pera_wallet
if 'wallet' not in st.session_state:
st.session_state.wallet = {'status': 'disconnected', 'address': None}
if 'txn' not in st.session_state:
st.session_state.txn = None
NETWORK = 'testnet'
st.title('My App')
def account():
with st.expander('Account', expanded=True):
# Add msgpack-encoded transactions to sign, if needed
transactions_to_sign = []
wallet = pera_wallet(
network=NETWORK,
transactions_to_sign=transactions_to_sign,
key='pera_wallet',
)
if wallet is not None:
wallet_state, txn_state = wallet
st.session_state.wallet = wallet_state
st.session_state.txn = txn_state
if st.session_state.txn:
match st.session_state.txn:
case {'status': 'proposed'}:
st.info(
'Please open the Pera Wallet app to sign this transaction.',
icon='✍️',
)
case {'status': 'submitted'}:
st.info(
'Transaction submitted. Waiting for confirmation.',
icon='⏳',
)
case {'status': 'confirmed', 'txId': tx_id}:
st.success(
f'Transaction confirmed! View your transaction on [lora](https://lora.algokit.io/{NETWORK}/transaction/{tx_id}) the explorer.',
icon='🥳',
)
case {'status': 'failed', 'msg': msg}:
st.error(f'Transaction failed: {msg}', icon='😞')
if st.session_state.wallet['status'] == 'unavailable':
st.error('Wallet is only available in secure contexts (HTTPS).')
else:
st.caption(
f'Connected address: {st.session_state.wallet["address"]}'
if st.session_state.wallet['status'] == 'connected'
else 'Connect your wallet to begin.'
)
account()
if not st.session_state.wallet['address']:
st.stop()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pera_wallet-0.0.12.tar.gz
(1.8 MB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pera_wallet-0.0.12.tar.gz.
File metadata
- Download URL: pera_wallet-0.0.12.tar.gz
- Upload date:
- Size: 1.8 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
505efcc7babba970a36a4e4a7e901b5edfaad29f7964de2a2a0f392dcff49c50
|
|
| MD5 |
971e9b98087ab84a13a566bf825d2586
|
|
| BLAKE2b-256 |
9513e4721d58b622848c5ee16a00c6d67a3c7fcc46c25ad3ca63d4c69b85a17c
|
File details
Details for the file pera_wallet-0.0.12-py3-none-any.whl.
File metadata
- Download URL: pera_wallet-0.0.12-py3-none-any.whl
- Upload date:
- Size: 14.2 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ac0f123509b913afbe54990b016891863f64689a2a937ddd5f42a78780bc87f0
|
|
| MD5 |
3d481cee6332b8e868ca31891bfd5112
|
|
| BLAKE2b-256 |
d7585d90e76f9efd0dd5d4f80a92351e30f809840cab945d94d5d4f056011759
|