Skip to content

Commit 88e0b68

Browse files
committed
feat: add evm rpc links (#114)
1 parent 996980e commit 88e0b68

File tree

11 files changed

+316
-26
lines changed

11 files changed

+316
-26
lines changed

activities/loadbalancer/loadbalancer.go

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,13 +86,20 @@ func (a *Activity) LaunchLoadBalancer(ctx context.Context, req messages.LaunchLo
8686

8787
var loadBalancers []*pb.Node
8888
for nodeName := range nodeNames {
89-
loadBalancers = append(loadBalancers, &pb.Node{
89+
node := &pb.Node{
9090
Name: nodeName,
9191
Address: a.RootDomain,
9292
Rpc: fmt.Sprintf("https://%s-rpc.%s", nodeName, a.RootDomain),
9393
Lcd: fmt.Sprintf("https://%s-lcd.%s", nodeName, a.RootDomain),
9494
Grpc: fmt.Sprintf("%s-grpc.%s", nodeName, a.RootDomain),
95-
})
95+
}
96+
97+
if req.IsEvmChain {
98+
node.Evmrpc = fmt.Sprintf("https://%s-evmrpc.%s", nodeName, a.RootDomain)
99+
node.Evmws = fmt.Sprintf("wss://%s-evmws.%s", nodeName, a.RootDomain)
100+
}
101+
102+
loadBalancers = append(loadBalancers, node)
96103
}
97104

98105
if len(loadBalancers) > 0 {

activities/testnet/testnet.go

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -283,15 +283,15 @@ func (a *Activity) LaunchTestnet(ctx context.Context, req messages.LaunchTestnet
283283
testnetNodes := make([]*pb.Node, 0, len(chain.GetNodes()))
284284

285285
for _, validator := range chain.GetValidators() {
286-
validatorInfo, err := getNodeExternalAddresses(ctx, validator)
286+
validatorInfo, err := getNodeExternalAddresses(ctx, validator, req.IsEvmChain)
287287
if err != nil {
288288
return resp, err
289289
}
290290
testnetValidators = append(testnetValidators, validatorInfo)
291291
}
292292

293293
for _, node := range chain.GetNodes() {
294-
nodeInfo, err := getNodeExternalAddresses(ctx, node)
294+
nodeInfo, err := getNodeExternalAddresses(ctx, node, req.IsEvmChain)
295295
if err != nil {
296296
return resp, err
297297
}
@@ -378,7 +378,7 @@ func constructChainConfig(req messages.LaunchTestnetRequest,
378378
return config, walletConfig
379379
}
380380

381-
func getNodeExternalAddresses(ctx context.Context, nodeProvider petritypes.NodeI) (*pb.Node, error) {
381+
func getNodeExternalAddresses(ctx context.Context, nodeProvider petritypes.NodeI, isEvmChain bool) (*pb.Node, error) {
382382
lcdIp, err := nodeProvider.GetExternalAddress(ctx, "1317")
383383
if err != nil {
384384
return &pb.Node{}, err
@@ -399,11 +399,27 @@ func getNodeExternalAddresses(ctx context.Context, nodeProvider petritypes.NodeI
399399
return &pb.Node{}, err
400400
}
401401

402-
return &pb.Node{
402+
node := &pb.Node{
403403
Name: nodeProvider.GetDefinition().Name,
404404
Rpc: fmt.Sprintf("http://%s", cometIp),
405405
Lcd: fmt.Sprintf("http://%s", lcdIp),
406406
Grpc: grpcIp,
407407
Address: ip,
408-
}, nil
408+
}
409+
410+
if isEvmChain {
411+
evmRpcIp, err := nodeProvider.GetExternalAddress(ctx, "8545")
412+
if err != nil {
413+
return &pb.Node{}, err
414+
}
415+
node.Evmrpc = fmt.Sprintf("http://%s", evmRpcIp)
416+
417+
evmWsIp, err := nodeProvider.GetExternalAddress(ctx, "8546")
418+
if err != nil {
419+
return &pb.Node{}, err
420+
}
421+
node.Evmws = fmt.Sprintf("ws://%s", evmWsIp)
422+
}
423+
424+
return node, nil
409425
}

frontend/src/api/workflowApi.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,20 +219,26 @@ const convertFromGrpcWorkflow = (workflow: any): WorkflowStatus => {
219219
RPC: node.rpc,
220220
LCD: node.lcd,
221221
GRPC: node.grpc,
222+
EVMRPC: node.evmrpc,
223+
EVMWS: node.evmws,
222224
Metrics: ""
223225
})),
224226
Validators: (workflow.validators || []).map((validator: any) => ({
225227
Name: validator.name,
226228
RPC: validator.rpc,
227229
LCD: validator.lcd,
228230
GRPC: validator.grpc,
231+
EVMRPC: validator.evmrpc,
232+
EVMWS: validator.evmws,
229233
Metrics: ""
230234
})),
231235
LoadBalancers: (workflow.loadBalancers || []).map((lb: any) => ({
232236
Name: lb.name,
233237
RPC: lb.rpc,
234238
LCD: lb.lcd,
235239
GRPC: lb.grpc,
240+
EVMRPC: lb.evmrpc,
241+
EVMWS: lb.evmws,
236242
Metrics: ""
237243
})),
238244
Monitoring: workflow.monitoring || {},

frontend/src/gen/proto/ironbird_pb.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -575,6 +575,16 @@ export class Node extends Message<Node> {
575575
*/
576576
grpc = "";
577577

578+
/**
579+
* @generated from field: string evmrpc = 6;
580+
*/
581+
evmrpc = "";
582+
583+
/**
584+
* @generated from field: string evmws = 7;
585+
*/
586+
evmws = "";
587+
578588
constructor(data?: PartialMessage<Node>) {
579589
super();
580590
proto3.util.initPartial(data, this);
@@ -588,6 +598,8 @@ export class Node extends Message<Node> {
588598
{ no: 3, name: "rpc", kind: "scalar", T: 9 /* ScalarType.STRING */ },
589599
{ no: 4, name: "lcd", kind: "scalar", T: 9 /* ScalarType.STRING */ },
590600
{ no: 5, name: "grpc", kind: "scalar", T: 9 /* ScalarType.STRING */ },
601+
{ no: 6, name: "evmrpc", kind: "scalar", T: 9 /* ScalarType.STRING */ },
602+
{ no: 7, name: "evmws", kind: "scalar", T: 9 /* ScalarType.STRING */ },
591603
]);
592604

593605
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): Node {

frontend/src/pages/CreateWorkflow.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1238,7 +1238,7 @@ const CreateWorkflow = () => {
12381238
borderColor="divider"
12391239
placeholder="Select runner type"
12401240
>
1241-
<option value="Docker">Docker</option>
1241+
<option value="Docker">Docker (only available locally)</option>
12421242
<option value="DigitalOcean">DigitalOcean</option>
12431243
</Select>
12441244
</FormControl>

0 commit comments

Comments
 (0)