Wallets
En el contexto de SequenceEthereum, un 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 interfaz IWallet
le proporciona varios métodos. Los más importantes son:
GetAddress
Devuelve la Address
del wallet
SendTransaction
Firma el EthTransaction
proporcionado y lo envía mediante el cliente indicado
SendTransactionAndWaitForReceipt
Firma el EthTransaction
proporcionado, lo envía mediante el cliente indicado y luego espera el TransactionReceipt
SendTransactionBatch
Firma el arreglo de EthTransaction[]
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 de EthTransaction[]
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.
Nota: se espera que el chainId esté en formato hexadecimal. Si trabaja con un objeto Chain
(recomendado), puede usar el método AsString
para obtener el formato hexadecimal del chain id.