Saltar al contenido principal
Al implementar un Embedded Wallet, será necesario poder pagar las tarifas de gas en una red que no sea testnet para enviar una transacción. Las opciones de comisión ofrecen una cotización para cubrir las tarifas de gas, utilizable solo por un periodo de tiempo determinado (lo cual es exclusivo de Sequence). Para enviar una transacción con éxito, tienes varias alternativas:
  • Testnets: Usando una testnet, las transacciones con Sequence son gratuitas y no requieren ingresar una opción de comisión en la llamada al SDK.
  • Contrato o Wallet patrocinado: Tener el smart contract o wallet patrocinado, sin requerir la opción de comisión en la llamada al SDK. Puede aprender cómo patrocinar un contrato o wallet aquí.
  • Opciones de comisión: Usando la API de Sequence para obtener una cotización personalizada y un objeto de opciones de comisión, pase ambos a la llamada del waas sdk. Vea más abajo.
Sabrás si necesitas patrocinar tu contrato o wallet, o implementar opciones de comisión si recibes la siguiente respuesta de la API de WaaS:

Implementando Opciones de Comisión

Antes de implementar el siguiente flujo de “Opciones de Comisión”, debe asegurarse de que su wallet tenga fondos suficientes para pagar su transacción en la red específica y en la moneda nativa. Puede transferir tokens a su wallet, o utilizar la función de on-ramp con la solución Web SDK. Asegúrese de tener instalados los siguientes paquetes:
1

API generalizada para Opciones de Comisión y Cotización

Para implementar las opciones de comisión en la solicitud, primero debe llamar a sequence.feeOptions({...}), que está envuelta en la siguiente función checkTransactionFeeOptions:
En los siguientes ejemplos, la variable sequence es un objeto Embedded Wallet inicializado desde el paquete npm @0xsequence/waas con el WaasConfigKey y el ProjectAccessKey. Descubre cómo hacerlo aquí
2

Creando Opciones de Comisión y Cotización junto con la transacción

Implementando una transacción ERC20

Implementando una transacción ERC1155 / ERC721

Para ERC721 solo reemplace erc1155({...}) por erc721({...}) y llame a sequence.sendERC721({...})

Implementando una transacción con moneda nativa

Implementando una transacción de contrato personalizado