You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -58,18 +58,29 @@ Primero, asegúrese de haber creado una cuenta de Sequence Project. Si aún no t
58
58
google: true,
59
59
apple: true,
60
60
email: true,
61
-
explicitSessionParams: { ... }
61
+
explicitSession: createExplicitSession({ ... })
62
62
});
63
63
```
64
64
65
-
El `walletUrl` es la URL del Ecosystem Wallet que su dApp usará. Para nuestra demo, estamos usando el [Acme Ecosystem Wallet](https://next-acme-wallet.sequence-dev.app).
65
+
El `walletUrl` es la URL del Ecosystem Wallet que su dApp utilizará. Para nuestra demostración, estamos usando el [Acme Ecosystem Wallet](https://acme-wallet.ecosystem-demo.xyz).
66
66
67
67
El `dappOrigin` es el origen de su dapp, usado para verificar de dónde proviene el usuario.
68
68
69
-
El objeto `explicitSessionParams` permite que su dapp solicite permisos específicos al usuario al conectarse.
70
-
Estos permisos pueden autorizar a su dapp a realizar ciertas acciones en nombre del usuario durante un período definido, creando una experiencia más fluida sin solicitudes de transacción o permitiendo automatizaciones.
69
+
El objeto `explicitSession` permite que su dapp solicite permisos específicos al usuario al conectarse.
70
+
Estos permisos pueden autorizar a su dapp a realizar ciertas acciones en nombre del usuario durante un período definido, creando una experiencia más fluida sin avisos de transacción o permitiendo automatizaciones.
71
+
72
+
Ver: [Análisis profundo de permisos](/sdk/web/wallet-sdk/ecosystem/permissions-deep-dive) y [Directorio de tokens](/sdk/web/wallet-sdk/ecosystem/token-directory).
73
+
74
+
### Comportamiento de las opciones de comisión (importante)
75
+
76
+
Cuando su aplicación envía transacciones mediante el relayer de Sequence, este necesita determinar **cómo se pagan las comisiones**.
77
+
78
+
- Si desea que el SDK solicite automáticamente los permisos necesarios relacionados con comisiones al crear una sesión explícita, active `includeFeeOptionPermissions`.
79
+
- Si lo desactiva, usted es responsable de incluir los permisos relacionados con comisiones que requiera la opción de comisión que espera usar.
80
+
81
+
Si no se puede cubrir el pago de la comisión, las transacciones pueden fallar al momento de enviarse, incluso si el permiso principal de llamada al contrato parece correcto.
71
82
72
-
`nativeTokenSpending` es opcional. Si se omite, la sesión tendrá por defecto un `valueLimit` de token nativo de `0`.
83
+
`nativeTokenSpending` es opcional. Si se omite, la sesión no tendrá asignado un límite de gasto de tokens nativos.
73
84
74
85
Por ejemplo, creemos una sesión explícita que permita a su dapp `depositar 100 USDC en el pool de AAVE V3 en Arbitrum, en nombre del usuario durante las próximas 24 horas`
75
86
@@ -82,7 +93,7 @@ Primero, asegúrese de haber creado una cuenta de Sequence Project. Si aún no t
El `walletUrl` es la URL del Ecosystem Wallet que su dApp usará. Para nuestra demo, estamos usando el [Acme Ecosystem Wallet](https://next-acme-wallet.sequence-dev.app).
252
+
El `walletUrl` es la URL del Ecosystem Wallet que su dApp utilizará. Para nuestra demostración, estamos usando el [Acme Ecosystem Wallet](https://acme-wallet.ecosystem-demo.xyz).
242
253
243
254
El `dappOrigin` es el origen de su dapp, usado para verificar de dónde proviene el usuario.
244
255
245
-
El objeto `explicitSessionParams` permite que su dapp solicite permisos específicos al usuario al conectarse.
246
-
Estos permisos pueden autorizar a su dapp a realizar ciertas acciones en nombre del usuario durante un período definido, creando una experiencia más fluida sin solicitudes de transacción.
256
+
El objeto `explicitSession` permite que su dapp solicite permisos específicos al usuario al conectarse.
257
+
Estos permisos pueden autorizar a su dapp a realizar ciertas acciones en nombre del usuario por un periodo definido, creando una experiencia más fluida sin ventanas emergentes de transacción.
247
258
248
-
`nativeTokenSpending` es opcional. Si se omite, la sesión tendrá por defecto un `valueLimit` de token nativo de `0`.
259
+
`nativeTokenSpending` es opcional. Si se omite, la sesión no tendrá asignado un límite de gasto de tokens nativos.
249
260
250
261
Por ejemplo, creemos una sesión explícita que permita a su dapp `depositar 100 USDC en el pool de AAVE V3 en Arbitrum, en nombre del usuario durante las próximas 24 horas`
251
262
@@ -261,15 +272,15 @@ Primero, asegúrese de haber creado una cuenta de Sequence Project. Si aún no t
description: Guía práctica para construir permisos de sesión explícitos para Ecosystem Wallet (Web SDK)
3
+
sidebarTitle: Análisis profundo de permisos
4
+
---
5
+
6
+
Esta página recopila orientación práctica y errores comunes al construir **permisos de sesión explícitos** para Ecosystem Wallet (Web SDK / `@0xsequence/connect`).
7
+
8
+
Si aún no ha configurado Connect, comience con [Primeros pasos](/sdk/web/wallet-sdk/ecosystem/getting-started).
9
+
10
+
---
11
+
12
+
## Modelo mental
13
+
Una sesión explícita es una _concesión de autoridad limitada_:
14
+
-**Alcance:** qué llamadas están permitidas (destinos + firmas de función + reglas de parámetros)
15
+
-**Presupuesto:** cuánto valor puede moverse (límite de gasto nativo, límites ERC20)
16
+
-**Tiempo:** ventana de expiración
17
+
18
+
Cuando solicita una sesión explícita, el usuario aprueba ese conjunto de permisos en la interfaz de la wallet. Después de la aprobación, su dApp (o una automatización del lado del servidor, según su arquitectura) puede ejecutar transacciones dentro de esos límites sin solicitar repetidamente la aprobación del usuario.
19
+
20
+
---
21
+
22
+
## Patrones para construir permisos
23
+
24
+
### 1) Permisos específicos por destino (recomendado cuando sea posible)
25
+
Si su caso de uso tiene un contrato de destino conocido (por ejemplo, “depositar en un pool de Aave”, “mintear desde este contrato NFT”), prefiera un permiso restringido con:
26
+
- una sola `address`
27
+
- una `functionSignature` concreta
28
+
- reglas de parámetros
29
+
30
+
Este es el método más seguro y fácil de razonar.
31
+
32
+
### 2) Transferencias a destinatarios abiertos (requiere una construcción diferente)
33
+
Si su experiencia de usuario es “enviar tokens a **cualquier** destinatario” (por ejemplo, una app de wallet), está otorgando una autoridad más amplia.
34
+
35
+
**Recomendación:**
36
+
- Para **transferencias ERC20** abiertas, el enfoque estándar es permitir el contrato de token `transfer(address to, uint256 value)` con una regla de **límite de valor** (y _sin_ regla `to=EQUAL`).
37
+
- Para **envíos de tokens nativos** abiertos, use un patrón de **forwarder**. En configuraciones de wallet Sequence, un enfoque común es otorgar permiso de destino al `ValueForwarder` de la cadena y enviar tokens nativos mediante una llamada forward.
38
+
39
+
> Si su dApp no necesita destinatarios abiertos, no los otorgue.
40
+
41
+
---
42
+
43
+
## Opciones de comisión y por qué importan (comportamiento de envío)
44
+
Al enviar una transacción mediante el relay de Sequence, se selecciona una **opción de comisión** para pagar la ejecución.
45
+
46
+
### Comportamientos clave
47
+
48
+
- Si su aplicación depende de transacciones relayed, el relayer debe poder determinar _cómo se pagan las comisiones_.
49
+
- En la práctica, su aplicación debe hacer una de las siguientes:
50
+
- activar la inclusión automática de permisos de comisión (ver `includeFeeOptionPermissions`), o
51
+
- incluir explícitamente los permisos necesarios relacionados con comisiones en la sesión.
52
+
53
+
### Error común
54
+
Los desarrolladores suelen construir un permiso de llamada válido (por ejemplo, ERC20 `transfer`) pero omiten los permisos relacionados con comisiones. La transacción puede fallar al enviarse porque el relayer no puede seleccionar una vía válida de pago de comisión.
55
+
56
+
**Recomendación:** para la mayoría de las dApps, active `includeFeeOptionPermissions` a menos que tenga una razón para controlar completamente la forma de los permisos de comisión.
57
+
58
+
---
59
+
60
+
## Depuración de bajo nivel con `@0xsequence/dapp-client-cli`
61
+
El Web SDK abstrae gran parte de la maquinaria subyacente. Cuando necesite depurar "¿qué está haciendo el relayer?", la CLI puede ser una herramienta útil.
62
+
63
+
### Flujos de trabajo útiles
64
+
65
+
1.**Inspeccionar opciones de comisión** para un paquete de transacciones:
66
+
67
+
```bash
68
+
npx @0xsequence/dapp-client-cli fee-options \
69
+
--chain-id <chainId> \
70
+
--transactions '<json array of {to,data,value}>'
71
+
```
72
+
73
+
2.**Enviar una transacción** con una opción de comisión elegida explícitamente:
Copy file name to clipboardExpand all lines: es/solutions/wallets/developers/ecosystem-wallet/react_quickstart.mdx
+3-1Lines changed: 3 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -27,7 +27,9 @@ El Sequence SDK ahora es una dependencia en su proyecto, listo para usarse.
27
27
## 🔗 Paso 3: Integre con su app React
28
28
Finalmente, envuelva su aplicación con nuestro proveedor de wallet. Esto hace que todas las funciones de conexión estén disponibles para cualquier componente dentro de su dApp.
29
29
30
-
También estamos creando una sesión que solicita permiso para gastar hasta 100 tokens en nombre del usuario, lo que abre la puerta a automatizaciones y mejoras en la experiencia de usuario.
30
+
También estamos creando una sesión explícita que solicita permiso para gastar hasta 100 tokens en nombre del usuario, abriendo la puerta a automatizaciones y mejoras de experiencia de usuario.
31
+
32
+
Ver: [Análisis profundo de permisos](/sdk/web/wallet-sdk/ecosystem/permissions-deep-dive) y [Directorio de tokens](/sdk/web/wallet-sdk/ecosystem/token-directory).
0 commit comments