Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 12 additions & 1 deletion docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,8 @@
"group": "Ecosystem Wallet",
"pages": [
"solutions/wallets/developers/ecosystem-wallet/react_quickstart",
"solutions/wallets/developers/ecosystem-wallet/unity-quickstart"
"solutions/wallets/developers/ecosystem-wallet/unity-quickstart",
"solutions/wallets/developers/ecosystem-wallet/unreal-quickstart"
]
},
{
Expand Down Expand Up @@ -560,6 +561,16 @@
"sdk/unreal/guides/swaps-guide"
]
},
{
"group": "Ecosystem Wallet",
"pages": [
"sdk/unreal/ecosystem-wallet/setup",
"sdk/unreal/ecosystem-wallet/authentication",
"sdk/unreal/ecosystem-wallet/permissions",
"sdk/unreal/ecosystem-wallet/manage-sessions",
"sdk/unreal/ecosystem-wallet/blockchain"
]
},
{
"group": "Onboarding",
"pages": [
Expand Down
128 changes: 128 additions & 0 deletions es/sdk/unreal/ecosystem-wallet/authentication.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
---
title: Autenticación
description: Documentación de Ecosystem Wallet para el SDK de Unreal de Sequence.
---

Comience con una sesión implícita, la cual está restringida a contratos creados por Sequence.
Como alternativa, puede agregar un objeto `IPermissions` en cada llamada de inicio de sesión si desea conectarse directamente a una sesión explícita.

### Permisos de construcción

<Tabs>
<Tab title="Blueprint">
<Frame>
<img src="/images/unreal/ecosystem/contract_permissions.png" />
</Frame>
</Tab>

<Tab title="C++">
```cpp
const FString Target = TEXT("0x33985d320809E26274a72E03268c8a29927Bc6dA");
const int64 ChainId = 421614;
const int64 Deadline = 1856724472000;
const int64 ValueLimit = 0;

UContractPermissions* Permissions = UContractPermissions::CreateContractPermissions(ChainId, Target, Deadline, ValueLimit);
```
</Tab>
</Tabs>

### Iniciar sesión con correo electrónico

<Tabs>
<Tab title="Blueprint">
<Frame>
<img src="/images/unreal/ecosystem/sign_in_email.png" />
</Frame>
</Tab>

<Tab title="C++">
```cpp
const TSuccessCallback<bool> SuccessCallback = [this, OnSuccess](bool Result) { };
const FFailureCallback FailureCallback = [OnFailure](const FSequenceError& Error) { };

USequenceConnect* Connect = NewObject<USequenceConnect>();
Connect->SignInWithEmail(Email, Permissions, SuccessCallback, FailureCallback);
```
</Tab>
</Tabs>

### Iniciar sesión con Google

<Tabs>
<Tab title="Blueprint">
<Frame>
<img src="/images/unreal/ecosystem/sign_in_google.png" />
</Frame>
</Tab>

<Tab title="C++">
```cpp
const TSuccessCallback<bool> SuccessCallback = [this, OnSuccess](bool Result) { };
const FFailureCallback FailureCallback = [OnFailure](const FSequenceError& Error) { };

USequenceConnect* Connect = NewObject<USequenceConnect>();
Connect->SignInWithGoogle(Permissions, SuccessCallback, FailureCallback);
```
</Tab>
</Tabs>

### Iniciar sesión con Apple

<Tabs>
<Tab title="Blueprint">
<Frame>
<img src="/images/unreal/ecosystem/sign_in_apple.png" />
</Frame>
</Tab>

<Tab title="C++">
```cpp
const TSuccessCallback<bool> SuccessCallback = [this, OnSuccess](bool Result) { };
const FFailureCallback FailureCallback = [OnFailure](const FSequenceError& Error) { };

USequenceConnect* Connect = NewObject<USequenceConnect>();
Connect->SignInWithApple(Permissions, SuccessCallback, FailureCallback);
```
</Tab>
</Tabs>

### Iniciar sesión con Passkey

<Tabs>
<Tab title="Blueprint">
<Frame>
<img src="/images/unreal/ecosystem/sign_in_passkey.png" />
</Frame>
</Tab>

<Tab title="C++">
```cpp
const TSuccessCallback<bool> SuccessCallback = [this, OnSuccess](bool Result) { };
const FFailureCallback FailureCallback = [OnFailure](const FSequenceError& Error) { };

USequenceConnect* Connect = NewObject<USequenceConnect>();
Connect->SignInWithPasskey(Permissions, SuccessCallback, FailureCallback);
```
</Tab>
</Tabs>

### Iniciar sesión con frase mnemotécnica

<Tabs>
<Tab title="Blueprint">
<Frame>
<img src="/images/unreal/ecosystem/sign_in_mnemonic.png" />
</Frame>
</Tab>

<Tab title="C++">
```cpp
const TSuccessCallback<bool> SuccessCallback = [this, OnSuccess](bool Result) { };
const FFailureCallback FailureCallback = [OnFailure](const FSequenceError& Error) { };

USequenceConnect* Connect = NewObject<USequenceConnect>();
Connect->SignInWithMnemonic(Permissions, SuccessCallback, FailureCallback);
```
</Tab>
</Tabs>
109 changes: 109 additions & 0 deletions es/sdk/unreal/ecosystem-wallet/blockchain.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
---
title: Interacciones con blockchain
description: Documentación de Ecosystem Wallet para el SDK de Unreal de Sequence.
---

## Firmar mensajes
Firmar mensajes en un navegador externo.

<Tabs>
<Tab title="Blueprint">
<Frame>
<img src="/images/unreal/ecosystem/sign_message.png" />
</Frame>
</Tab>

<Tab title="C++">
```cpp
const TSuccessCallback<bool> SuccessCallback = [OnSuccess](const bool& Result) { };
const FFailureCallback FailureCallback = [OnFailure](const FSequenceError& Error) { };

USequenceWallet* Wallet = NewObject<USequenceWallet>();
Wallet->SignMessage(TEXT("some text"), SuccessCallback, FailureCallback);
```
</Tab>
</Tabs>

## Obtener opciones de comisión

<Tabs>
<Tab title="Blueprint">
<Frame>
<img src="/images/unreal/ecosystem/get_fee_options.png" />
</Frame>
</Tab>

<Tab title="C++">
```cpp
const FString To = TEXT("0x33985d320809E26274a72E03268c8a29927Bc6dA");
const FString FunctionSignature = TEXT("explicitEmit()");
const int64 Value = 0;
const TArray<FString> Values = { };

UContractTransaction* Transaction = UContractTransaction::CreateContractTransaction(To, Value, FunctionSignature, Values);

const TSuccessCallback<FFeeOptionsResponse> SuccessCallback = [OnSuccess](const FFeeOptionsResponse& Response) { };
const FFailureCallback FailureCallback = [OnFailure](const FSequenceError& Error) { };

USequenceWallet* Wallet = NewObject<USequenceWallet>();
Wallet->GetFeeOptions(Transaction, SuccessCallback, FailureCallback);
```
</Tab>
</Tabs>

## Enviar transacciones

<Tabs>
<Tab title="Blueprint">
<Frame>
<img src="/images/unreal/ecosystem/send_transaction.png" />
</Frame>
</Tab>

<Tab title="C++">
```cpp
const FString To = TEXT("0x33985d320809E26274a72E03268c8a29927Bc6dA");
const FString FunctionSignature = TEXT("explicitEmit()");
const int64 Value = 0;
const TArray<FString> Values = { };

UContractTransaction* Transaction = UContractTransaction::CreateContractTransaction(To, Value, FunctionSignature, Values);

FFeeOption EmptyFee;

const TSuccessCallback<FString> SuccessCallback = [OnSuccess](const FString& Result) { };
const FFailureCallback FailureCallback = [OnFailure](const FSequenceError& Error) { };

USequenceWallet* Wallet = NewObject<USequenceWallet>();
Wallet->SendTransaction(Transaction, EmptyFee, SuccessCallback, FailureCallback);
```
</Tab>
</Tabs>

## Enviar transacciones sin permisos
Envíe transacciones en un navegador externo.

<Tabs>
<Tab title="Blueprint">
<Frame>
<img src="/images/unreal/ecosystem/transaction_without_permissions.png" />
</Frame>
</Tab>

<Tab title="C++">
```cpp
const FString To = TEXT("0x33985d320809E26274a72E03268c8a29927Bc6dA");
const FString FunctionSignature = TEXT("explicitEmit()");
const int64 Value = 0;
const TArray<FString> Values = { };

UContractTransaction* Transaction = UContractTransaction::CreateContractTransaction(To, Value, FunctionSignature, Values);

const TSuccessCallback<FString> SuccessCallback = [OnSuccess](const FString& Result) { };
const FFailureCallback FailureCallback = [OnFailure](const FSequenceError& Error) { };

USequenceWallet* Wallet = NewObject<USequenceWallet>();
Wallet->SendTransactionWithoutPermissions(Transaction, SuccessCallback, FailureCallback);
```
</Tab>
</Tabs>
79 changes: 79 additions & 0 deletions es/sdk/unreal/ecosystem-wallet/manage-sessions.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
---
title: Gestionar sesiones
description: Documentación de Ecosystem Wallet para el SDK de Unreal de Sequence.
---

### Agregar sesión
Agregue sesiones adicionales a su método de inicio de sesión actual. Todas las sesiones comparten la misma dirección de wallet, pero es posible asignar diferentes permisos a cada sesión. Debe proporcionar un objeto `IPermissions` cada vez que llame a `AddSession`.

<Tabs>
<Tab title="Blueprint">
<Frame>
<img src="/images/unreal/ecosystem/add_session.png" />
</Frame>
</Tab>

<Tab title="C++">
```cpp
const TSuccessCallback<bool> SuccessCallback = [OnSuccess](const bool& Result) { };
const FFailureCallback FailureCallback = [OnFailure](const FSequenceError& Error) { };

USequenceWallet* Wallet = NewObject<USequenceWallet>();
Wallet->AddSession(Permissions, SuccessCallback, FailureCallback);
```
</Tab>
</Tabs>

### Verificar si la Wallet Existe
Verifique si el usuario ya inició sesión con una wallet. Si esto devuelve falso, quiere que el usuario inicie sesión.

<Tabs>
<Tab title="Blueprint">
<Frame>
<img src="/images/unreal/ecosystem/check_signedin.png" />
</Frame>
</Tab>

<Tab title="C++">
```cpp
USequenceWallet* Wallet = NewObject<USequenceWallet>();
bool Exists = Wallet->CheckIfWalletExists();
```
</Tab>
</Tabs>

### Borrar Sesiones
Elimine todas las sesiones del almacenamiento. Use esto para cualquier funcionalidad de 'Cerrar sesión'.

<Tabs>
<Tab title="Blueprint">
<Frame>
<img src="/images/unreal/ecosystem/clear_sessions.png" />
</Frame>
</Tab>

<Tab title="C++">
```cpp
USequenceWallet* Wallet = NewObject<USequenceWallet>();
Wallet->ClearSessions();
```
</Tab>
</Tabs>

### Obtener Información de la Wallet
Obtenga información relevante de la wallet actual.

<Tabs>
<Tab title="Blueprint">
<Frame>
<img src="/images/unreal/ecosystem/wallet_info.png" />
</Frame>
</Tab>

<Tab title="C++">
```cpp
USequenceWallet* Wallet = NewObject<USequenceWallet>();
FWalletInfo WalletIno = Wallet->GetWalletInfo();
```
</Tab>
</Tabs>
23 changes: 23 additions & 0 deletions es/sdk/unreal/ecosystem-wallet/setup.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
title: Configuración
description: Documentación de Ecosystem Wallet para el SDK de Unreal de Sequence.
---

### Configure su Ecosistema
Primero, cree un archivo `SequenceConfig.init` [siguiendo nuestra guía de inicio rápido](/sdk/unreal/getting_started)

A continuación, complete los campos requeridos:
- **ProjectAccessKey:** Su Project Access Key de su [proyecto en Builder.](https://sequence.build/)
- **WalletAppUrl:** La URL del Ecosistema al que desea conectarse. Si no está seguro, use `https://v3.sequence-dev.app` como valor predeterminado.

<Warning>
Si utilizó la versión v1 o v2 del Unreal SDK: las clases `SequenceWallet` ahora se refieren al Ecosystem Wallet. Use `SequenceEmbeddedWallet` si desea continuar con su integración de Embedded Wallet.
</Warning>

### Pruebe nuestra demo integrada
El Unreal SDK incluye un conjunto de widgets prediseñados para que pueda comenzar rápidamente.
Asegúrese de habilitar `Enable Plugin Content` en la configuración de su Content Browser.

<Frame>
<img src="/images/unreal/ecosystem/ecosystem-wallet-demo.png" />
</Frame>
Loading