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
"""Example usage of the Pera Wallet component."""
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_state, txn_state = pera_wallet(
network=NETWORK,
transactions_to_sign=transactions_to_sign,
key='pera_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.13.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.13.tar.gz.
File metadata
- Download URL: pera_wallet-0.0.13.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 |
16d57032daf2eb6e07f72c930dc66ed4a38db1ffac288e927ebafaab4f04ee19
|
|
| MD5 |
cce8cc6bdb70139aaa0ccb4697285eb1
|
|
| BLAKE2b-256 |
f79b2124f6328a22cdb1e3ec8e4ce22ace9b3f69c61997e316d4b96f431bddc8
|
File details
Details for the file pera_wallet-0.0.13-py3-none-any.whl.
File metadata
- Download URL: pera_wallet-0.0.13-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 |
9aee09146b5db909d9ef6d3534b3032c470feabae6e15d0595378a8631874ffe
|
|
| MD5 |
49ed6380ba5c039fdce533c8d1f0569c
|
|
| BLAKE2b-256 |
5f1da1d0072c6fc18cf775911468b1db13b41ea41dc347cc6ad49ec9da0f2791
|