@rialo/wallet-standard
v0.1.1
Published
Wallet Standard definition for Rialo Network
Downloads
699
Readme
@rialo/wallet-standard
Wallet Standard implementation for Rialo Network, providing a standardized interface for wallet interactions following the Wallet Standard specification.
Installation
npm install @rialo/wallet-standardyarn add @rialo/wallet-standardpnpm add @rialo/wallet-standardOverview
This package provides the standard wallet interface for Rialo Network applications. It implements the Wallet Standard specification to ensure compatibility and interoperability across different wallet implementations and dApps.
Features
- Full Wallet Standard compliance
- Rialo-specific transaction signing and submission
- Multi-chain support for Rialo networks
- Message signing capabilities
- Event-driven architecture for state management
Usage
Connect to Wallet
const { accounts } = await wallet.features['standard:connect'].connect();
// Access the connected account
const account = accounts[0];
console.log('Connected account:', account.address);Sign and Send Transaction
import { RialoSignAndSendTransaction } from '@rialo/wallet-standard';
const result = await wallet.features[RialoSignAndSendTransaction].signAndSendTransaction({
account: account,
transaction: transactionBuffer,
chain: 'rialo:mainnet',
options: {
skipPreflight: false
}
});
console.log('Transaction signature:', result.signature);Sign Message
import { RialoSignMessage } from '@rialo/wallet-standard';
const result = await wallet.features[RialoSignMessage].signMessage({
account: account,
message: new TextEncoder().encode('Hello, Rialo!'),
chain: 'rialo:mainnet'
});
console.log('Message signature:', result.signature);Event Handling
wallet.features['standard:events'].on('change', ({ accounts, chains }) => {
console.log('Wallet state changed');
console.log('Active accounts:', accounts);
console.log('Active chains:', chains);
});API Reference
Features
Standard Features
standard:connect- Connect to the walletstandard:disconnect- Disconnect from the walletstandard:events- Event subscription interface
Rialo Features
rialo:signAndSendTransaction- Sign and submit a single transactionrialo:signAndSendAllTransactions- Sign and submit multiple transactionsrialo:signTransaction- Sign a transaction without submittingrialo:signMessage- Sign an arbitrary message
Types
RialoWalletAccount
interface RialoWalletAccount {
address: string;
publicKey: Uint8Array;
chains: RialoChain[];
features: string[];
label?: string;
icon?: string;
}RialoChain
type RialoChain = 'rialo:testnet' | 'rialo:devnet' | 'rialo:localnet';Chain Support
The wallet standard supports the following Rialo chains:
rialo:localnet- Rialo Local Networkrialo:testnet- Rialo Testnetrialo:devnet- Rialo Development Network
Browser Support
This package supports all modern browsers with ES2020 compatibility:
- Chrome 80+
- Firefox 75+
- Safari 14+
- Edge 80+
TypeScript Support
This package includes TypeScript definitions. No additional @types packages are required.
import type {
RialoWalletAccount,
RialoChain,
RialoSignTransactionOutput
} from '@rialo/wallet-standard';Contributing
Contributions are welcome. Please ensure all changes maintain Wallet Standard compliance.
License
Apache-2.0
