Wallet se define mediante la interfaz IWallet. Actualmente hay 2 implementaciones de la interfaz IWallet en este SDK.
1. EOAWallet
EOAWallet es un wallet EOA estándar para cadenas EVM.
Un EOAWallet se crea fácilmente:
2. SequenceWalletToEOAWalletAdapter
SequenceWalletToEOAWalletAdapter es un adaptador que le permite usar un SequenceWallet con la misma interfaz IWallet que un EOAWallet, para que pueda utilizarse de manera intercambiable con wallets EOA en el resto de la librería SequenceEthereum.
Un SequenceWalletToEOAWalletAdapter se crea fácilmente una vez que tiene un SequenceWallet:
Métodos
La interfazIWallet le proporciona varios métodos. Los más importantes son:
GetAddress
Devuelve laAddress del wallet
SendTransaction
Firma elEthTransaction proporcionado y lo envía mediante el cliente indicado
SendTransactionAndWaitForReceipt
Firma elEthTransaction proporcionado, lo envía mediante el cliente indicado y luego espera el TransactionReceipt
SendTransactionBatch
Firma el arreglo deEthTransaction[] y los envía mediante el cliente indicado.
Si el wallet es un EOAWallet, las transacciones se enviarán de forma secuencial, y cada una puede aprobarse o fallar. Si el wallet es un SequenceWalletToEOAWalletAdapter, las transacciones se agruparán en una sola transacción que se envía de una vez y que se aprueba o falla en conjunto.
De igual manera, si el wallet es un EOAWallet, el string[] (hashes de transacción) que reciba tendrá la misma longitud que el EthTransaction[] enviado. Mientras que, si el wallet es un SequenceWalletToEOAWalletAdapter, solo recibirá un hash de transacción (string[] de longitud 1)
SendTransactionBatchAndWaitForReceipts
Firma el arreglo deEthTransaction[] y los envía mediante el cliente indicado, luego espera el arreglo de TransactionReceipt[].
Si el wallet es un EOAWallet, las transacciones se enviarán de forma secuencial, y cada una puede aprobarse o fallar. Si el wallet es un SequenceWalletToEOAWalletAdapter, las transacciones se agruparán en una sola transacción que se envía de una vez y que se aprueba o falla en conjunto.
De igual manera, si el wallet es un EOAWallet, el TransactionReceipt[] que reciba tendrá la misma longitud que el EthTransaction[] enviado. Mientras que, si el wallet es un SequenceWalletToEOAWalletAdapter, solo recibirá un recibo de transacción (TransactionReceipt[] de longitud 1)
SignMessage
Dado un mensaje y un chain id opcional, firmar el mensaje usando el wallet. Omitir el chain id de la firma si no se proporciona.Chain (recomendado), puede usar el método AsString para obtener el formato hexadecimal del chain id.