Skip to content

Commit 6960a32

Browse files
Unreal SDK Ecosystem Wallet (#164)
* started adding unreal docs for ecosystem wallets * chore(i18n): update translations [en] Sync file structure, format locales. Branch: 164/merge * added setup page for unreal ecosystem wallet * chore(i18n): update translations [en] Sync file structure, format locales. Branch: 164/merge * unreal ecosystem wallet docs * chore(i18n): update translations [en] Sync file structure, format locales. Branch: 164/merge * added permissions page for unreal, changed images * latest changes * changed unity and unreal ecosystem wallet titles * language fixes --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
1 parent 6e35d23 commit 6960a32

39 files changed

+1319
-6
lines changed

docs.json

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,8 @@
8181
"group": "Ecosystem Wallet",
8282
"pages": [
8383
"solutions/wallets/developers/ecosystem-wallet/react_quickstart",
84-
"solutions/wallets/developers/ecosystem-wallet/unity-quickstart"
84+
"solutions/wallets/developers/ecosystem-wallet/unity-quickstart",
85+
"solutions/wallets/developers/ecosystem-wallet/unreal-quickstart"
8586
]
8687
},
8788
{
@@ -560,6 +561,16 @@
560561
"sdk/unreal/guides/swaps-guide"
561562
]
562563
},
564+
{
565+
"group": "Ecosystem Wallet",
566+
"pages": [
567+
"sdk/unreal/ecosystem-wallet/setup",
568+
"sdk/unreal/ecosystem-wallet/authentication",
569+
"sdk/unreal/ecosystem-wallet/permissions",
570+
"sdk/unreal/ecosystem-wallet/manage-sessions",
571+
"sdk/unreal/ecosystem-wallet/blockchain"
572+
]
573+
},
563574
{
564575
"group": "Onboarding",
565576
"pages": [
Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
---
2+
title: Autenticación
3+
description: Documentación de Ecosystem Wallet para el SDK de Unreal de Sequence.
4+
---
5+
6+
Comience con una sesión implícita, la cual está restringida a contratos creados por Sequence.
7+
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.
8+
9+
### Permisos de construcción
10+
11+
<Tabs>
12+
<Tab title="Blueprint">
13+
<Frame>
14+
<img src="/images/unreal/ecosystem/contract_permissions.png" />
15+
</Frame>
16+
</Tab>
17+
18+
<Tab title="C++">
19+
```cpp
20+
const FString Target = TEXT("0x33985d320809E26274a72E03268c8a29927Bc6dA");
21+
const int64 ChainId = 421614;
22+
const int64 Deadline = 1856724472000;
23+
const int64 ValueLimit = 0;
24+
25+
UContractPermissions* Permissions = UContractPermissions::CreateContractPermissions(ChainId, Target, Deadline, ValueLimit);
26+
```
27+
</Tab>
28+
</Tabs>
29+
30+
### Iniciar sesión con correo electrónico
31+
32+
<Tabs>
33+
<Tab title="Blueprint">
34+
<Frame>
35+
<img src="/images/unreal/ecosystem/sign_in_email.png" />
36+
</Frame>
37+
</Tab>
38+
39+
<Tab title="C++">
40+
```cpp
41+
const TSuccessCallback<bool> SuccessCallback = [this, OnSuccess](bool Result) { };
42+
const FFailureCallback FailureCallback = [OnFailure](const FSequenceError& Error) { };
43+
44+
USequenceConnect* Connect = NewObject<USequenceConnect>();
45+
Connect->SignInWithEmail(Email, Permissions, SuccessCallback, FailureCallback);
46+
```
47+
</Tab>
48+
</Tabs>
49+
50+
### Iniciar sesión con Google
51+
52+
<Tabs>
53+
<Tab title="Blueprint">
54+
<Frame>
55+
<img src="/images/unreal/ecosystem/sign_in_google.png" />
56+
</Frame>
57+
</Tab>
58+
59+
<Tab title="C++">
60+
```cpp
61+
const TSuccessCallback<bool> SuccessCallback = [this, OnSuccess](bool Result) { };
62+
const FFailureCallback FailureCallback = [OnFailure](const FSequenceError& Error) { };
63+
64+
USequenceConnect* Connect = NewObject<USequenceConnect>();
65+
Connect->SignInWithGoogle(Permissions, SuccessCallback, FailureCallback);
66+
```
67+
</Tab>
68+
</Tabs>
69+
70+
### Iniciar sesión con Apple
71+
72+
<Tabs>
73+
<Tab title="Blueprint">
74+
<Frame>
75+
<img src="/images/unreal/ecosystem/sign_in_apple.png" />
76+
</Frame>
77+
</Tab>
78+
79+
<Tab title="C++">
80+
```cpp
81+
const TSuccessCallback<bool> SuccessCallback = [this, OnSuccess](bool Result) { };
82+
const FFailureCallback FailureCallback = [OnFailure](const FSequenceError& Error) { };
83+
84+
USequenceConnect* Connect = NewObject<USequenceConnect>();
85+
Connect->SignInWithApple(Permissions, SuccessCallback, FailureCallback);
86+
```
87+
</Tab>
88+
</Tabs>
89+
90+
### Iniciar sesión con Passkey
91+
92+
<Tabs>
93+
<Tab title="Blueprint">
94+
<Frame>
95+
<img src="/images/unreal/ecosystem/sign_in_passkey.png" />
96+
</Frame>
97+
</Tab>
98+
99+
<Tab title="C++">
100+
```cpp
101+
const TSuccessCallback<bool> SuccessCallback = [this, OnSuccess](bool Result) { };
102+
const FFailureCallback FailureCallback = [OnFailure](const FSequenceError& Error) { };
103+
104+
USequenceConnect* Connect = NewObject<USequenceConnect>();
105+
Connect->SignInWithPasskey(Permissions, SuccessCallback, FailureCallback);
106+
```
107+
</Tab>
108+
</Tabs>
109+
110+
### Iniciar sesión con frase mnemotécnica
111+
112+
<Tabs>
113+
<Tab title="Blueprint">
114+
<Frame>
115+
<img src="/images/unreal/ecosystem/sign_in_mnemonic.png" />
116+
</Frame>
117+
</Tab>
118+
119+
<Tab title="C++">
120+
```cpp
121+
const TSuccessCallback<bool> SuccessCallback = [this, OnSuccess](bool Result) { };
122+
const FFailureCallback FailureCallback = [OnFailure](const FSequenceError& Error) { };
123+
124+
USequenceConnect* Connect = NewObject<USequenceConnect>();
125+
Connect->SignInWithMnemonic(Permissions, SuccessCallback, FailureCallback);
126+
```
127+
</Tab>
128+
</Tabs>
Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
---
2+
title: Interacciones con blockchain
3+
description: Documentación de Ecosystem Wallet para el SDK de Unreal de Sequence.
4+
---
5+
6+
## Firmar mensajes
7+
Firmar mensajes en un navegador externo.
8+
9+
<Tabs>
10+
<Tab title="Blueprint">
11+
<Frame>
12+
<img src="/images/unreal/ecosystem/sign_message.png" />
13+
</Frame>
14+
</Tab>
15+
16+
<Tab title="C++">
17+
```cpp
18+
const TSuccessCallback<bool> SuccessCallback = [OnSuccess](const bool& Result) { };
19+
const FFailureCallback FailureCallback = [OnFailure](const FSequenceError& Error) { };
20+
21+
USequenceWallet* Wallet = NewObject<USequenceWallet>();
22+
Wallet->SignMessage(TEXT("some text"), SuccessCallback, FailureCallback);
23+
```
24+
</Tab>
25+
</Tabs>
26+
27+
## Obtener opciones de comisión
28+
29+
<Tabs>
30+
<Tab title="Blueprint">
31+
<Frame>
32+
<img src="/images/unreal/ecosystem/get_fee_options.png" />
33+
</Frame>
34+
</Tab>
35+
36+
<Tab title="C++">
37+
```cpp
38+
const FString To = TEXT("0x33985d320809E26274a72E03268c8a29927Bc6dA");
39+
const FString FunctionSignature = TEXT("explicitEmit()");
40+
const int64 Value = 0;
41+
const TArray<FString> Values = { };
42+
43+
UContractTransaction* Transaction = UContractTransaction::CreateContractTransaction(To, Value, FunctionSignature, Values);
44+
45+
const TSuccessCallback<FFeeOptionsResponse> SuccessCallback = [OnSuccess](const FFeeOptionsResponse& Response) { };
46+
const FFailureCallback FailureCallback = [OnFailure](const FSequenceError& Error) { };
47+
48+
USequenceWallet* Wallet = NewObject<USequenceWallet>();
49+
Wallet->GetFeeOptions(Transaction, SuccessCallback, FailureCallback);
50+
```
51+
</Tab>
52+
</Tabs>
53+
54+
## Enviar transacciones
55+
56+
<Tabs>
57+
<Tab title="Blueprint">
58+
<Frame>
59+
<img src="/images/unreal/ecosystem/send_transaction.png" />
60+
</Frame>
61+
</Tab>
62+
63+
<Tab title="C++">
64+
```cpp
65+
const FString To = TEXT("0x33985d320809E26274a72E03268c8a29927Bc6dA");
66+
const FString FunctionSignature = TEXT("explicitEmit()");
67+
const int64 Value = 0;
68+
const TArray<FString> Values = { };
69+
70+
UContractTransaction* Transaction = UContractTransaction::CreateContractTransaction(To, Value, FunctionSignature, Values);
71+
72+
FFeeOption EmptyFee;
73+
74+
const TSuccessCallback<FString> SuccessCallback = [OnSuccess](const FString& Result) { };
75+
const FFailureCallback FailureCallback = [OnFailure](const FSequenceError& Error) { };
76+
77+
USequenceWallet* Wallet = NewObject<USequenceWallet>();
78+
Wallet->SendTransaction(Transaction, EmptyFee, SuccessCallback, FailureCallback);
79+
```
80+
</Tab>
81+
</Tabs>
82+
83+
## Enviar transacciones sin permisos
84+
Envíe transacciones en un navegador externo.
85+
86+
<Tabs>
87+
<Tab title="Blueprint">
88+
<Frame>
89+
<img src="/images/unreal/ecosystem/transaction_without_permissions.png" />
90+
</Frame>
91+
</Tab>
92+
93+
<Tab title="C++">
94+
```cpp
95+
const FString To = TEXT("0x33985d320809E26274a72E03268c8a29927Bc6dA");
96+
const FString FunctionSignature = TEXT("explicitEmit()");
97+
const int64 Value = 0;
98+
const TArray<FString> Values = { };
99+
100+
UContractTransaction* Transaction = UContractTransaction::CreateContractTransaction(To, Value, FunctionSignature, Values);
101+
102+
const TSuccessCallback<FString> SuccessCallback = [OnSuccess](const FString& Result) { };
103+
const FFailureCallback FailureCallback = [OnFailure](const FSequenceError& Error) { };
104+
105+
USequenceWallet* Wallet = NewObject<USequenceWallet>();
106+
Wallet->SendTransactionWithoutPermissions(Transaction, SuccessCallback, FailureCallback);
107+
```
108+
</Tab>
109+
</Tabs>
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
---
2+
title: Gestionar sesiones
3+
description: Documentación de Ecosystem Wallet para el SDK de Unreal de Sequence.
4+
---
5+
6+
### Agregar sesión
7+
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`.
8+
9+
<Tabs>
10+
<Tab title="Blueprint">
11+
<Frame>
12+
<img src="/images/unreal/ecosystem/add_session.png" />
13+
</Frame>
14+
</Tab>
15+
16+
<Tab title="C++">
17+
```cpp
18+
const TSuccessCallback<bool> SuccessCallback = [OnSuccess](const bool& Result) { };
19+
const FFailureCallback FailureCallback = [OnFailure](const FSequenceError& Error) { };
20+
21+
USequenceWallet* Wallet = NewObject<USequenceWallet>();
22+
Wallet->AddSession(Permissions, SuccessCallback, FailureCallback);
23+
```
24+
</Tab>
25+
</Tabs>
26+
27+
### Verificar si la Wallet Existe
28+
Verifique si el usuario ya inició sesión con una wallet. Si esto devuelve falso, quiere que el usuario inicie sesión.
29+
30+
<Tabs>
31+
<Tab title="Blueprint">
32+
<Frame>
33+
<img src="/images/unreal/ecosystem/check_signedin.png" />
34+
</Frame>
35+
</Tab>
36+
37+
<Tab title="C++">
38+
```cpp
39+
USequenceWallet* Wallet = NewObject<USequenceWallet>();
40+
bool Exists = Wallet->CheckIfWalletExists();
41+
```
42+
</Tab>
43+
</Tabs>
44+
45+
### Borrar Sesiones
46+
Elimine todas las sesiones del almacenamiento. Use esto para cualquier funcionalidad de 'Cerrar sesión'.
47+
48+
<Tabs>
49+
<Tab title="Blueprint">
50+
<Frame>
51+
<img src="/images/unreal/ecosystem/clear_sessions.png" />
52+
</Frame>
53+
</Tab>
54+
55+
<Tab title="C++">
56+
```cpp
57+
USequenceWallet* Wallet = NewObject<USequenceWallet>();
58+
Wallet->ClearSessions();
59+
```
60+
</Tab>
61+
</Tabs>
62+
63+
### Obtener Información de la Wallet
64+
Obtenga información relevante de la wallet actual.
65+
66+
<Tabs>
67+
<Tab title="Blueprint">
68+
<Frame>
69+
<img src="/images/unreal/ecosystem/wallet_info.png" />
70+
</Frame>
71+
</Tab>
72+
73+
<Tab title="C++">
74+
```cpp
75+
USequenceWallet* Wallet = NewObject<USequenceWallet>();
76+
FWalletInfo WalletIno = Wallet->GetWalletInfo();
77+
```
78+
</Tab>
79+
</Tabs>
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
---
2+
title: Configuración
3+
description: Documentación de Ecosystem Wallet para el SDK de Unreal de Sequence.
4+
---
5+
6+
### Configure su Ecosistema
7+
Primero, cree un archivo `SequenceConfig.init` [siguiendo nuestra guía de inicio rápido](/sdk/unreal/getting_started)
8+
9+
A continuación, complete los campos requeridos:
10+
- **ProjectAccessKey:** Su Project Access Key de su [proyecto en Builder.](https://sequence.build/)
11+
- **WalletAppUrl:** La URL del Ecosistema al que desea conectarse. Si no está seguro, use `https://v3.sequence-dev.app` como valor predeterminado.
12+
13+
<Warning>
14+
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.
15+
</Warning>
16+
17+
### Pruebe nuestra demo integrada
18+
El Unreal SDK incluye un conjunto de widgets prediseñados para que pueda comenzar rápidamente.
19+
Asegúrese de habilitar `Enable Plugin Content` en la configuración de su Content Browser.
20+
21+
<Frame>
22+
<img src="/images/unreal/ecosystem/ecosystem-wallet-demo.png" />
23+
</Frame>

0 commit comments

Comments
 (0)