Skip to content

Commit 8352c14

Browse files
committed
fix: send transaction with confirmation hash, e2e tests
1 parent d17cd0a commit 8352c14

File tree

30 files changed

+66
-41
lines changed

30 files changed

+66
-41
lines changed

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,4 +107,6 @@ sample/Assets/Vuplex*
107107

108108
__pycache__/
109109
*.pyc
110-
.pytest_cache/
110+
.pytest_cache/
111+
112+
xcuserdata/

sample/Assets/Scripts/Passport/AuthenticatedSceneManager.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,4 +62,4 @@ public static void NavigateToUnauthenticatedScene()
6262
{
6363
UnityEngine.SceneManagement.SceneManager.LoadScene("UnauthenticatedScene");
6464
}
65-
}
65+
}

sample/Assets/Scripts/Passport/ClearStorageAndCache/ClearStorageAndCacheScript.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,4 +38,4 @@ private void ShowOutput(string message)
3838
}
3939
}
4040
}
41-
}
41+
}

sample/Assets/Scripts/Passport/GetUserInfo/GetUserInfoScript.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,4 +146,4 @@ private void ShowOutput(string message)
146146
Output.text = message;
147147
}
148148
}
149-
}
149+
}

sample/Assets/Scripts/Passport/ImxConnect/ImxConnectScript.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ private async UniTaskVoid ConnectImxAsync()
2828
try
2929
{
3030
await Passport.Instance.ConnectImx();
31-
31+
3232
SampleAppManager.IsConnectedToImx = true;
3333
ShowOutput("Connected to IMX"); // Show success early
3434

@@ -37,14 +37,14 @@ private async UniTaskVoid ConnectImxAsync()
3737
if (unauthSceneManager != null)
3838
{
3939
unauthSceneManager.OnImxConnected?.Invoke();
40-
return;
40+
return;
4141
}
4242

4343
var authSceneManager = FindObjectOfType<AuthenticatedSceneManager>();
4444
if (authSceneManager != null)
4545
{
4646
authSceneManager.UpdateImxButtonStates();
47-
authSceneManager.OnImxConnected?.Invoke();
47+
authSceneManager.OnImxConnected?.Invoke();
4848
return;
4949
}
5050
}
@@ -61,4 +61,4 @@ private void ShowOutput(string message)
6161
Output.text = message;
6262
}
6363
}
64-
}
64+
}

sample/Assets/Scripts/Passport/ImxGetAddress/ImxGetAddressScript.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,4 +51,4 @@ private void ShowOutput(string message)
5151
Output.text = message;
5252
}
5353
}
54-
}
54+
}

sample/Assets/Scripts/Passport/ImxIsRegisteredOffchain/ImxIsRegisteredOffchainScript.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ private async UniTaskVoid CheckIsRegisteredOffchainAsync()
3535
try
3636
{
3737
bool isRegistered = await SampleAppManager.PassportInstance.IsRegisteredOffchain();
38-
38+
3939
if (isRegistered)
4040
{
4141
ShowOutput("Registered");

sample/Assets/Scripts/Passport/ImxNftTransfer/ImxNftTransferScript.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,4 +105,4 @@ private void ShowOutput(string message)
105105
Output.text = message;
106106
}
107107
}
108-
}
108+
}

sample/Assets/Scripts/Passport/ImxRegister/ImxRegisterScript.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,4 +58,4 @@ private void ShowOutput(string message)
5858
Output.text = message;
5959
}
6060
}
61-
}
61+
}

sample/Assets/Scripts/Passport/Login/LoginScript.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,4 +72,4 @@ private void ShowOutput(string message)
7272
Output.text = message;
7373
}
7474
}
75-
}
75+
}

sample/Assets/Scripts/Passport/Logout/LogoutScript.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,4 +39,4 @@ private async UniTaskVoid LogoutAsync()
3939
Debug.LogError($"Failed to logout: {ex.Message}");
4040
}
4141
}
42-
}
42+
}

sample/Assets/Scripts/Passport/Other/AuthenticatedSceneNavigation.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,4 +46,4 @@ public void ShowLinkWallet()
4646
}
4747

4848
// Add more navigation methods as needed for other features
49-
}
49+
}

sample/Assets/Scripts/Passport/Other/SetCallTimeout/SetCallTimeoutScript.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,4 +46,4 @@ private void ShowOutput(string message)
4646
Debug.LogWarning($"[SetCallTimeoutScript] Output Text is not assigned. Message: {message}");
4747
}
4848
}
49-
}
49+
}

sample/Assets/Scripts/Passport/Reconnect/ReconnectScript.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,4 +64,4 @@ private void ShowOutput(string message)
6464
Output.text = message;
6565
}
6666
}
67-
}
67+
}

sample/Assets/Scripts/Passport/Relogin/ReloginScript.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,4 +54,4 @@ private void ShowOutput(string message)
5454
Output.text = message;
5555
}
5656
}
57-
}
57+
}

sample/Assets/Scripts/Passport/SampleAppManager.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,4 @@ public static class SampleAppManager
1919
/// Holds the Passport instance for IMX operations.
2020
/// </summary>
2121
public static Immutable.Passport.Passport PassportInstance { get; set; }
22-
}
22+
}

sample/Assets/Scripts/Passport/UnauthenticatedSceneManager.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,4 @@ void Awake()
3131
{
3232
OnImxConnected = () => { UnityEngine.SceneManagement.SceneManager.LoadScene("AuthenticatedScene"); };
3333
}
34-
}
34+
}

sample/Assets/Scripts/Passport/ZkEvm/ZkEvmConnect/ZkEvmConnectScript.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ private async UniTaskVoid ConnectZkEvmAsync()
3131
try
3232
{
3333
await Passport.Instance.ConnectEvm();
34-
34+
3535
// Add these lines to update connection state and refresh UI
3636
SampleAppManager.IsConnectedToZkEvm = true;
3737
var sceneManager = FindObjectOfType<AuthenticatedSceneManager>();
@@ -44,7 +44,7 @@ private async UniTaskVoid ConnectZkEvmAsync()
4444
{
4545
Debug.LogWarning("Could not find AuthenticatedSceneManager to update button states");
4646
}
47-
47+
4848
ShowOutput("Connected to EVM");
4949
}
5050
catch (System.Exception ex)
@@ -60,4 +60,4 @@ private void ShowOutput(string message)
6060
output.text = message;
6161
}
6262
}
63-
}
63+
}

sample/Assets/Scripts/Passport/ZkEvm/ZkEvmGetBalance/ZkEvmGetBalanceScript.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,4 +52,4 @@ private void ShowOutput(string message)
5252
Output.text = message;
5353
}
5454
}
55-
}
55+
}

sample/Assets/Scripts/Passport/ZkEvm/ZkEvmGetTransactionReceipt/ZkEvmGetTransactionReceiptScript.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,4 +65,4 @@ private void ShowOutput(string message)
6565
Output.text = message;
6666
}
6767
}
68-
}
68+
}

sample/Assets/Scripts/Passport/ZkEvm/ZkEvmSendTransaction/ZkEvmSendTransactionScript.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ void Start()
2323
ShowOutput("Passport instance is null");
2424
return;
2525
}
26-
26+
2727
// Make sure UI elements are initialised
2828
if (ConfirmToggle != null && GetTransactionReceiptToggle != null)
2929
{
@@ -66,16 +66,16 @@ private async UniTaskVoid SendTransactionAsync()
6666
value = ValueInputField != null ? ValueInputField.text : "",
6767
data = DataInputField != null ? DataInputField.text : ""
6868
};
69-
69+
7070
if (ConfirmToggle != null && ConfirmToggle.isOn)
7171
{
7272
TransactionReceiptResponse response = await SampleAppManager.PassportInstance.ZkEvmSendTransactionWithConfirmation(request);
73-
ShowOutput($"Transaction hash: {response.transactionHash}\nStatus: {GetTransactionStatusString(response.status)}");
73+
ShowOutput($"Transaction hash: {response.hash}\nStatus: {GetTransactionStatusString(response.status)}");
7474
}
7575
else
7676
{
7777
string transactionHash = await SampleAppManager.PassportInstance.ZkEvmSendTransaction(request);
78-
78+
7979
if (GetTransactionReceiptToggle != null && GetTransactionReceiptToggle.isOn)
8080
{
8181
string? status = await PollStatus(transactionHash);
@@ -150,4 +150,4 @@ private void ShowOutput(string message)
150150
Debug.Log($"ZkEvmSendTransactionScript: {message}");
151151
}
152152
}
153-
}
153+
}

sample/Assets/Scripts/Passport/ZkEvm/ZkEvmSignTypedData/ZkEvmSignTypedDataScript.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,4 +47,4 @@ private void ShowOutput(string message)
4747
Output.text = message;
4848
}
4949
}
50-
}
50+
}

sample/Tests/test/test.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ def test_2_imx_functions(self):
9393

9494
# Connect to IMX
9595
self.altdriver.find_object(By.NAME, "ConnectBtn").tap()
96+
time.sleep(5)
9697
text = output.get_text()
9798
print(f"ConnectBtn output: {text}")
9899
self.assertEqual("Connected to IMX", text)

sample/Tests/test/test_android.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,7 @@ def test_6_pkce_relogin(self):
142142

143143
# Click Connect to IMX button
144144
self.altdriver.find_object(By.NAME, "ConnectBtn").tap()
145+
time.sleep(5)
145146
self.assertEqual("Connected to IMX", output.get_text())
146147

147148
self.altdriver.stop()

sample/Tests/test/test_mac.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,7 @@ def test_6_device_code_relogin(self):
185185

186186
# Click Connect to IMX button
187187
self.altdriver.find_object(By.NAME, "ConnectBtn").tap()
188+
time.sleep(5)
188189
self.assertEqual("Connected to IMX", output.get_text())
189190

190191
self.altdriver.stop()

sample/Tests/test/test_windows.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@ def test_6_relogin(self):
128128

129129
# Click Connect to IMX button
130130
self.get_altdriver().find_object(By.NAME, "ConnectBtn").tap()
131+
time.sleep(5)
131132
self.assertEqual("Connected to IMX", output.get_text())
132133

133134
def test_7_reconnect_device_code_connect_imx(self):

sample/Tests/test/test_windows_helpers.py

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -57,11 +57,29 @@ def login(use_pkce: bool):
5757
# Get all window handles
5858
all_windows = driver.window_handles
5959

60-
print("Find the new window")
61-
new_window = [window for window in all_windows if window != driver.current_window_handle][0]
60+
print(f"Found {len(all_windows)} new windows to check: {all_windows}")
61+
62+
# Find the window with email input
63+
target_window = None
64+
for window in all_windows:
65+
try:
66+
print(f"Checking window: {window}")
67+
driver.switch_to.window(window)
68+
driver.find_element(By.ID, ':r1:')
69+
target_window = window
70+
print(f"Found email input in window: {window}")
71+
break
72+
except:
73+
print(f"Email input not found in window: {window}, trying next...")
74+
continue
75+
76+
if not target_window:
77+
print("Could not find email input field in any window!")
78+
driver.quit()
79+
return
6280

63-
print("Switch to the new window")
64-
driver.switch_to.window(new_window)
81+
print("Switch to the target window")
82+
driver.switch_to.window(target_window)
6583

6684
wait = WebDriverWait(driver, 60)
6785

@@ -133,8 +151,9 @@ def bring_sample_app_to_foreground():
133151

134152
command = [
135153
"powershell.exe",
136-
"-Command",
137-
f"Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process; & '{powershell_script_path}' -appName '{product_name}'"
154+
"-ExecutionPolicy", "Bypass",
155+
"-File", powershell_script_path,
156+
"-appName", product_name
138157
]
139158

140159
subprocess.run(command, check=True)

src/Packages/Passport/Runtime/Scripts/Private/Model/Response/TransactionReceiptResponse.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public class TransactionReceiptResponse
3434

3535
public string to;
3636

37-
public string transactionHash;
37+
public string hash;
3838

3939
public string transactionIndex;
4040

src/Packages/Passport/Runtime/Scripts/Private/PassportImpl.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -753,8 +753,8 @@ public async UniTask<string> ZkEvmSendTransaction(TransactionRequest request)
753753

754754
public async UniTask<TransactionReceiptResponse> ZkEvmSendTransactionWithConfirmation(TransactionRequest request)
755755
{
756-
string json = SerialiseTransactionRequest(request);
757-
string callResponse = await communicationsManager.Call(PassportFunction.ZK_EVM.SEND_TRANSACTION_WITH_CONFIRMATION, json);
756+
var json = SerialiseTransactionRequest(request);
757+
var callResponse = await communicationsManager.Call(PassportFunction.ZK_EVM.SEND_TRANSACTION_WITH_CONFIRMATION, json);
758758
return callResponse.OptDeserializeObject<TransactionReceiptResponse>();
759759
}
760760

src/Packages/Passport/Samples~/SamplesScenesScripts/Scripts/Passport/ZkEvm/ZkEvmSendTransaction/ZkEvmSendTransactionScript.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ private async UniTaskVoid SendTransactionAsync()
7070
if (ConfirmToggle != null && ConfirmToggle.isOn)
7171
{
7272
TransactionReceiptResponse response = await SampleAppManager.PassportInstance.ZkEvmSendTransactionWithConfirmation(request);
73-
ShowOutput($"Transaction hash: {response.transactionHash}\nStatus: {GetTransactionStatusString(response.status)}");
73+
ShowOutput($"Transaction hash: {response.hash}\nStatus: {GetTransactionStatusString(response.status)}");
7474
}
7575
else
7676
{

0 commit comments

Comments
 (0)