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.