Skip to content

Commit 0f9df29

Browse files
Added LAOS and Root networks and testnets. Update indexer ping test so we see which (if any) networks failed their ping
1 parent 81c0d01 commit 0f9df29

3 files changed

Lines changed: 60 additions & 17 deletions

File tree

Plugins/SequencePlugin/Source/SequencePlugin/Public/Util/SequenceSupport.h

Lines changed: 31 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -51,31 +51,35 @@ class SEQUENCEPLUGIN_API USequenceSupport : public UObject
5151

5252
static inline TMap<int64, FString> NetworkIdToUrlMap = {
5353
FIdName(1,TEXT("mainnet")),
54-
FIdName(13371,TEXT("immutable-zkevm")),
55-
FIdName(1482601649,TEXT("skale-nebula")),
5654
FIdName(10,TEXT("optimism")),
5755
FIdName(56,TEXT("bsc")),
5856
FIdName(100,TEXT("gnosis")),
5957
FIdName(137,TEXT("polygon")),
6058
FIdName(1101,TEXT("polygon-zkevm")),
59+
FIdName(6283,TEXT("laos")),
60+
FIdName(7668,TEXT("rootnet")),
6161
FIdName(8333,TEXT("b3")),
6262
FIdName(8453,TEXT("base")),
63+
FIdName(13371,TEXT("immutable-zkevm")),
6364
FIdName(19011,TEXT("homeverse")),
6465
FIdName(33139,TEXT("apechain")),
6566
FIdName(42161,TEXT("arbitrum")),
6667
FIdName(42170,TEXT("arbitrum-nova")),
6768
FIdName(43114,TEXT("avalanche")),
6869
FIdName(81457,TEXT("blast")),
6970
FIdName(660279,TEXT("xai")),
71+
FIdName(1482601649,TEXT("skale-nebula")),
7072

71-
FIdName(13473,TEXT("immutable-zkevm-testnet")),
7273
FIdName(97,TEXT("bsc-testnet")),
7374
FIdName(1946,TEXT("soneium-minato")),
7475
FIdName(1993,TEXT("b3-sepolia")),
7576
FIdName(2730,TEXT("xr-sepolia")),
77+
FIdName(7672,TEXT("rootnet-porcini")),
78+
FIdName(13473,TEXT("immutable-zkevm-testnet")),
7679
FIdName(33111,TEXT("apechain-testnet")),
7780
FIdName(40875,TEXT("homeverse-testnet")),
7881
FIdName(43113,TEXT("avalanche-testnet")),
82+
FIdName(62850,TEXT("laos-sigma-testnet")),
7983
FIdName(80002,TEXT("amoy")),
8084
FIdName(84532,TEXT("base-sepolia")),
8185
FIdName(94984,TEXT("borne-testnet")),
@@ -105,6 +109,8 @@ class SEQUENCEPLUGIN_API USequenceSupport : public UObject
105109
FIdName(43114,TEXT("Avalanche")),
106110
FIdName(81457,TEXT("Blast")),
107111
FIdName(660279,TEXT("Xai")),
112+
FIdName(6283,TEXT("LAOS")),
113+
FIdName(7668,TEXT("Root Network")),
108114

109115
FIdName(13473,TEXT("Immutable Testnet")),
110116
FIdName(97,TEXT("BNB Smart Chain Testnet")),
@@ -123,7 +129,10 @@ class SEQUENCEPLUGIN_API USequenceSupport : public UObject
123129
FIdName(21000000,TEXT("TOY Testnet")),
124130
FIdName(37084624,TEXT("SKALE Nebula Gaming Hub Testnet")),
125131
FIdName(168587773,TEXT("Blast Sepolia")),
126-
FIdName(37714555429,TEXT("Xai Sepolia"))};
132+
FIdName(37714555429,TEXT("Xai Sepolia")),
133+
FIdName(62850,TEXT("LAOS Sigma Testnet")),
134+
FIdName(7672,TEXT("Root Network Porcini Testnet")),
135+
};
127136

128137
static inline TMap<FString, int64> NetworkNameToIdMap = {
129138
FNameId(TEXT("ethereum"),1),
@@ -143,6 +152,8 @@ class SEQUENCEPLUGIN_API USequenceSupport : public UObject
143152
FNameId(TEXT("avalanche"),43114),
144153
FNameId(TEXT("blast"),81457),
145154
FNameId(TEXT("xai"),660279),
155+
FNameId(TEXT("laos"),6283),
156+
FNameId(TEXT("rootnet"),7668),
146157

147158
FNameId(TEXT("immutable-testnet"),13473),
148159
FNameId(TEXT("bnbsmartchaintestnet"),97),
@@ -151,7 +162,7 @@ class SEQUENCEPLUGIN_API USequenceSupport : public UObject
151162
FNameId(TEXT("xrsepolia"),2730),
152163
FNameId(TEXT("apechaintestnet"),33111),
153164
FNameId(TEXT("oasyshomeversetestnet"),40875),
154-
FNameId(TEXT("avalanchetestnet"),43113),
165+
FNameId(TEXT("avalanche-testnet"),43113),
155166
FNameId(TEXT("polygonamoy"),80002),
156167
FNameId(TEXT("basesepolia"),84532),
157168
FNameId(TEXT("bornetestnet"),94984),
@@ -161,7 +172,10 @@ class SEQUENCEPLUGIN_API USequenceSupport : public UObject
161172
FNameId(TEXT("toytestnet"),21000000),
162173
FNameId(TEXT("skalenebulagaminghubtestnet"),37084624),
163174
FNameId(TEXT("blastsepolia"),168587773),
164-
FNameId(TEXT("xaisepolia"),37714555429)};
175+
FNameId(TEXT("xaisepolia"),37714555429),
176+
FNameId(TEXT("laos-sigma"),62850),
177+
FNameId(TEXT("rootnet-porcini"),7672),
178+
};
165179

166180
static inline TMap<ENetwork, int64> NetworkEnumToIdMap = {
167181
{ENetwork::Ethereum, 1},
@@ -181,6 +195,8 @@ class SEQUENCEPLUGIN_API USequenceSupport : public UObject
181195
{ENetwork::Avalanche, 43114},
182196
{ENetwork::Blast, 81457},
183197
{ENetwork::Xai, 660279},
198+
{ENetwork::LAOS, 6283},
199+
{ENetwork::Root, 7668},
184200

185201
{ENetwork::ImmutableTestnet, 13473},
186202
{ENetwork::BNBSmartChainTestnet, 97},
@@ -199,8 +215,10 @@ class SEQUENCEPLUGIN_API USequenceSupport : public UObject
199215
{ENetwork::TOYTestnet, 21000000},
200216
{ENetwork::SKALENebulaGamingHubTestnet, 37084624},
201217
{ENetwork::BlastSepolia, 168587773},
202-
{ENetwork::XaiSepolia, 37714555429}
203-
};
218+
{ENetwork::XaiSepolia, 37714555429},
219+
{ENetwork::LAOSSigma, 62850},
220+
{ENetwork::RootPorcini, 7672},
221+
};
204222

205223
static inline TMap<ENetwork, FString> NetworkEnumToNameMap = {
206224
{ENetwork::Ethereum, TEXT("Ethereum")},
@@ -220,6 +238,8 @@ class SEQUENCEPLUGIN_API USequenceSupport : public UObject
220238
{ENetwork::Avalanche, TEXT("Avalanche")},
221239
{ENetwork::Blast, TEXT("Blast")},
222240
{ENetwork::Xai, TEXT("Xai")},
241+
{ENetwork::LAOS, TEXT("LAOS")},
242+
{ENetwork::Root, TEXT("Root Network")},
223243

224244
{ENetwork::ImmutableTestnet, TEXT("Immutable Testnet")},
225245
{ENetwork::BNBSmartChainTestnet, TEXT("BNB Smart Chain Testnet")},
@@ -238,7 +258,9 @@ class SEQUENCEPLUGIN_API USequenceSupport : public UObject
238258
{ENetwork::TOYTestnet, TEXT("TOY Testnet")},
239259
{ENetwork::SKALENebulaGamingHubTestnet, TEXT("SKALE Nebula Gaming Hub Testnet")},
240260
{ENetwork::BlastSepolia, TEXT("Blast Sepolia")},
241-
{ENetwork::XaiSepolia, TEXT("Xai Sepolia")}
261+
{ENetwork::XaiSepolia, TEXT("Xai Sepolia")},
262+
{ENetwork::LAOSSigma, TEXT("LAOS Sigma Testnet")},
263+
{ENetwork::RootPorcini, TEXT("Root Network Porcini Testnet")},
242264
};
243265

244266
public:

Plugins/SequencePlugin/Source/SequencePlugin/Public/Util/Structs/BE_Enums.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ enum ENetwork
3333
Avalanche UMETA(DisplayName = "Avalanche"),
3434
Blast UMETA(DisplayName = "Blast"),
3535
Xai UMETA(DisplayName = "Xai"),
36+
LAOS UMETA(DisplayName = "LAOS"),
37+
Root UMETA(DisplayName = "Root Network"),
3638

3739
ImmutableTestnet UMETA(DisplayName = "Immutable Testnet"),
3840
BNBSmartChainTestnet UMETA(DisplayName = "BNB Smart Chain Testnet"),
@@ -51,5 +53,7 @@ enum ENetwork
5153
TOYTestnet UMETA(DisplayName = "TOY Testnet"),
5254
SKALENebulaGamingHubTestnet UMETA(DisplayName = "SKALE Nebula Gaming Hub Testnet"),
5355
BlastSepolia UMETA(DisplayName = "Blast Sepolia"),
54-
XaiSepolia UMETA(DisplayName = "XAI Sepolia")
56+
XaiSepolia UMETA(DisplayName = "XAI Sepolia"),
57+
LAOSSigma UMETA(DisplayName = "LAOS Sigma Testnet"),
58+
RootPorcini UMETA(DisplayName = "Root Network Porcini Testnet"),
5559
};

Plugins/SequenceTests/Source/SequenceTests/Private/IndexerEndToEndTests/IndexerPingTest.cpp

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
IMPLEMENT_COMPLEX_AUTOMATION_TEST(FIndexerPingTest, "SequencePlugin.EndToEnd.IndexerTests.PingTest", EAutomationTestFlags::EditorContext | EAutomationTestFlags::EngineFilter)
1111

1212
/* Latent command used to poll off main thread to see if our pings are done */
13-
DEFINE_LATENT_AUTOMATION_COMMAND_TWO_PARAMETER(FIsDone, const UIndexerRequestsTestData *, IndexerRequestsTestData, FAutomationTestBase *, PingTest);
13+
DEFINE_LATENT_AUTOMATION_COMMAND_THREE_PARAMETER(FIsDone, const UIndexerRequestsTestData *, IndexerRequestsTestData, FAutomationTestBase *, PingTest, const TArray<int64>*, FailedNetworks);
1414

1515
/* Latent command used to batch process pings w/o exceeding network threading limits */
1616
DEFINE_LATENT_AUTOMATION_COMMAND_FIVE_PARAMETER(FProcessPingBatch, const int32, WatchIndex, const int32, FinishIndex, const UIndexerRequestsTestData *, IndexerRequestsTestData, const TSuccessCallback<bool>, SuccessCallback, const FFailureCallback, FailureCallback);
@@ -46,7 +46,13 @@ bool FIsDone::Update()
4646
}
4747
else
4848
{
49-
PingTest->AddError(FString::Printf(TEXT("Not all pings returned successfully")));
49+
FString FailedNetworksStr;
50+
for (const int64& NetworkId : *FailedNetworks)
51+
{
52+
const FString NetworkName = USequenceSupport::GetNetworkName(NetworkId);
53+
FailedNetworksStr += FString::Printf(TEXT("%s (%lld), "), *NetworkName, NetworkId);
54+
}
55+
PingTest->AddError(FString::Printf(TEXT("Ping failed for networks: %s"), *FailedNetworksStr));
5056
}
5157

5258
return true;
@@ -61,24 +67,35 @@ void FIndexerPingTest::GetTests(TArray<FString>& OutBeautifiedNames, TArray<FStr
6167
bool FIndexerPingTest::RunTest(const FString& Parameters)
6268
{
6369
const TArray<int64> Networks = USequenceSupport::GetAllNetworkIds();
64-
UIndexerRequestsTestData * IndexerRequestsTestData = UIndexerRequestsTestData::Make(Networks.Num());
70+
UIndexerRequestsTestData* IndexerRequestsTestData = UIndexerRequestsTestData::Make(Networks.Num());
71+
72+
// Create a shared pointer to track failed networks
73+
TArray<int64>* FailedNetworks = new TArray<int64>();
6574

6675
const TSuccessCallback<bool> GenericSuccess = [this, IndexerRequestsTestData](const bool bSuccess)
6776
{
6877
const FString Message = (bSuccess) ? "Ping Success" : "Ping Failure";
6978
AddInfo(FString::Printf(TEXT("%s. Remaining pings: %d"), *Message, IndexerRequestsTestData->DecrementPendingRequests()));
7079
};
7180

72-
const FFailureCallback GenericFailure = [this, IndexerRequestsTestData](const FSequenceError& Error)
81+
const FFailureCallback GenericFailure = [this, IndexerRequestsTestData, Networks, FailedNetworks](const FSequenceError& Error)
7382
{
83+
// Track which network failed
84+
const int32 CurrentIndex = Networks.Num() - IndexerRequestsTestData->GetPendingRequests();
85+
FailedNetworks->Add(Networks[CurrentIndex]);
86+
7487
const FString Message = "Ping Failure";
75-
AddError(FString::Printf(TEXT("%s: %s. Remaining pings: %d"), *Message, *Error.Message, IndexerRequestsTestData->DecrementPendingRequests()));
88+
AddError(FString::Printf(TEXT("%s for network %lld: %s. Remaining pings: %d"),
89+
*Message,
90+
Networks[CurrentIndex],
91+
*Error.Message,
92+
IndexerRequestsTestData->DecrementPendingRequests()));
7693
IndexerRequestsTestData->RequestFailed();
7794
};
7895

7996
AddInfo(FString::Printf(TEXT("Starting %d pings"), IndexerRequestsTestData->GetPendingRequests()));
8097

81-
constexpr int32 BatchSize = 5;
98+
constexpr int32 BatchSize = 1;
8299
FBatchTestBuilder BatchTestBuilder(BatchSize, Networks.Num());
83100

84101
while (BatchTestBuilder.CanBuildBatch())
@@ -87,6 +104,6 @@ bool FIndexerPingTest::RunTest(const FString& Parameters)
87104
BatchTestBuilder.BuildNextBatch();
88105
}
89106

90-
ADD_LATENT_AUTOMATION_COMMAND(FIsDone(IndexerRequestsTestData, this));
107+
ADD_LATENT_AUTOMATION_COMMAND(FIsDone(IndexerRequestsTestData, this, FailedNetworks));
91108
return true;
92109
}

0 commit comments

Comments
 (0)