Licence
Apache-2.0
Version
0.1.1
Deps
2
Size
102 kB
Vulns
0
Weekly
0
@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-standard
yarn add @rialo/wallet-standard
pnpm add @rialo/wallet-standard
Overview
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